Skocz do zawartości

Omega

Członkowie
  • Postów

    0
  • Dołączył

  • Ostatnio

    Nigdy

Posty napisane przez Omega

  1. No to wszystko jasne. A zobacz jaki dlaes temat (chodzi o edit) a w poscie napisales edit box'a. A ten drugi to zupelnie inna kontrolka.
    Odp:
    Pobierasz: GetWindowText, z tym, ze ostatni parametr musi byc jakims rozmiarem, np. bufora do pobierania tekstu (np. 1024 bajty). Bo ta ilosc nie musi byc wielkoscia akurat ilosci znakow w edicie, tylko okresla ile najwiecej moze pobrac bajtow z edita do bufora i co za tym idzie ten bufor musi miec taka pojemnosc.

  2. Problem z tym, ze ja pisze w delphi, tak wiec taka strone moglbym Ci poradzic. Ty zapewne wolal bys w c++, ale mysle, ze koledzy rzuca linki. Ale moge Ci podac jedna: https://www.codeproject.com/vcpp/gdiplus/.

    A warto sie zapoznac z gdi+, bo w przypadku jego to zeby przekonwertowac jpeg'a do bmp to zaledwie kilka linkjek prostego kodu.

    Odpowiedz na Twoja pytanie tak by wygladala w delphi:

    uses gdiputil,gdipobj;
    
    var img:TGPBitmap;
        clsid: TGUID;
    begin
     img:=TGPBitmap.Create('jakasgraph.jpg');
     GetEncoderClsid('image/bmp', clsid);
     img.Save('wynik.bmp',clsid,nil);
     img.Free;
    end.
  3. Bezposredniej funkcji do zrzutu okna o nieregularnych ksztaltach to raczej nie ma. Natomiast aby zrzucic caly, badz czesc ekranu wystarcza Ci funkcje (delphi):

    var
     width, height,x,y: integer;
     dc:hDC;
     bm:hBitmap;
    begin
     width := 50; height := 100; //wysokosc i szerokosc zrzutu kawalka ekranu
     x=5; y=20; //skad
     dc:=CreateComaptibleDC(GetDC(0));
     bm:=CreateCompatibleBitmap(GetDC(0),width,height);
     BitBlt(dc,0,0,width,height,GetDC(0),x,y,SRCCOPY);
    
     //tutaj mozesz obsluzyc uchwyt bm (bitmapy z rzutem ekranu), np. zapisac do pliku
    
     DeleteDC(dc);
     DeleteObject(bm);
    end;
  4. rock_player napisał:
    troche się pomyliłem. Chodziło o pobieranie czcionki z pliku graficznego.
    A co do tworzenia ikon to może jakieś przykłady po polsku? :)

    Pobieranie czcionki z pliku graficznego? Chodzi Ci o cos takiego jak robia programy OCR? Ciezka sprawa. Jezeli nie potrafisz stworzyc programowo czcionki, a chcesz brac sie za cos takiego to zapomnij.

  5. A wydaje Ci sie, ze ZLIB jest malo popularny? Tez kiedys mialem do tego biblioteke. A na marginesie to moze Ci bardziej chodzi o jakis algorytm kodujacy a nie kompresujacy - nawiazujac do popularnosci kompresorow.

  6. Nie jest wcale opatentowane, gdyz jest to zupelnie calkowity kod zrodlowy. Dodatkowo juz go mialem w turbo pascalu, gdzi wzialem ze specjalnej plyty z kodami do wykorzystania w ramach wlasnych potrzeb.

  7. Ja robilem. Gdzies mam zrodla tego, ale w delphi. Jest to kompresja bodajze LZH. Wszystko mialem juz w klasie, tak wiec robota w tym byla prosta. Nastepnie mialem modol do dekompresji zip'a. Ale tylko do dekompresji. Jedyne co w nim bylo dobre to wypakowywal rowniez pliki zabezpieczone haslem - oczywiscie haslo musiales podac.

  8. Tez mialem kiedys ten problem, bo ze zwyklego programu nie moglem. Tak wiec trzeb autworzyc plik *.rc i wpisac np. cos takiego:

    nazwa_zasobu BITMAP "nazwa_bitmapy.bmp"

    Nastepnie trzeb to skompilowac odpowiednim programem do pliku *.res. Ja wykonalem to programem obslugiwanym z konsoli: Brcc32.exe.

  9. O tym, o czym piszecie to przypisanie menu w trybie Owner-Drawn. I prawda jest, ze jest dosc trudna do obslugi, gdyz trzeba umiec obsluzyc komunikaty: WM_MEASUREITEM i WM_DRAWITEM. Mozna zrobic prosciej, zmienic styl danego menu, dodajac falge MF_BITMAP.

  10. Prawdopodobnie nie ma takiego bezposredniego komunikatu. Natomiast znam bezposredni, aby wstawic kursor na poczatek linii :)  .
    Ale tak powaznie. Aby umiescic kursor na kocu linii trzeba troche na przemian pouzywac odpowiednich komunikatow dla edita (EM_SETSEL,EM_LINELENGTH itd).
    Ale smialo mozna wykorzystac samo EM_SETSEL z jakas duza wartoscia, jezeli wiemy, ze przekracza ilosc znakow w edicie, np:

    setfocus(edithandle);
    sendmessage(edithandle,EM_SETSEL,32000,32000);
  11. Chyba jak zapisac zasob do pliku *.res nie trzeba mowic. BCB, jako kompilator jest bardzo podobny do delphi i na takiej zasadzie ci podpowiem. Gdy chce zasob z pliku *.res dolaczyc do programu to wpisuje taka klauzure: {R jakiszasob.res}

×
×
  • Utwórz nowe...