Problem sa dialogom...

Problem sa dialogom...

offline
  • svo 
  • Novi MyCity građanin
  • Pridružio: 19 Feb 2009
  • Poruke: 4

Kako da ucitam test.bmp na dialog?
Evo saljem i primer.

i kako bih mogao da uradim click events na toj slici, znaci kad neko klikne na nju da pozovem neku proceduru... nadam se da ne trazim previse... - zadovoljio bih se i samo primerom kako ucitati sliku...

Hvala unapred!

[Link mogu videti samo ulogovani korisnici]



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • rejn 
  • Novi MyCity građanin
  • Pridružio: 02 Okt 2008
  • Poruke: 16

Zanimljivo. Pure Winapi u delphi-u Smile

Za pocetak loadimage deo

procedure Ucitaj_BMP(const hDlg: THandle); var  H: THandle; begin    H := LoadImage(0, 'test.bmp', IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);    if H <> 0 then     SendMessage(GetDlgItem(hDlg, IDC_KARTA), STM_SETIMAGE, IMAGE_BITMAP, H); end;

A dialog procedura je

function DlgProc(hWin, uMsg,   wParam,   lParam: Integer): Integer; stdcall; begin   Result := 0;   case uMsg of     WM_COMMAND  : begin                     if wParam = IDC_GEN then Write;                     if wParam = IDC_UCITAJ then Ucitaj_BMP(hWin);                     if wParam = IDC_ABOUT then                        MessageBoxA(hWin, AboutText, AboutCapt, MB_ICONINFORMATION);                     if Lo(wParam) = IDC_KARTA then                       if Hi(wParam) = STN_CLICKED then                         MessageBoxA(hWin, 'Klik na img', 'Info', MB_ICONINFORMATION);                   end;     WM_INITDIALOG : begin                       hIcon := LoadIcon(Inst, 'MAINICON');                       SendMessage(hWin, WM_SETICON, ICON_SMALL, hIcon);                       SendMessage(hWin, WM_SETICON, ICON_BIG,   hIcon);                       SetWindowText(hWin, WindowTitle);                       hWnd := hWin;                       SetWindowLong(GetDlgItem(hWin, IDC_KARTA), GWL_STYLE,                         GetWindowLong(GetDlgItem(hWin, IDC_KARTA), GWL_STYLE) or SS_NOTIFY);                     end;     WM_DESTROY,     WM_CLOSE      : End_Work;   end; end;

Prvo, STATIC wnd class je "losa" kontrola za prikaz slika, BUTTON je bolji izbor, mada moze da se koristi i ona.

Dalje, da bi STATIC dispatch-ovao evente mora da ima SS_NOTIFY wndstyle. Ovo sam dodao u kodu gore (Set/Getwindowlong), mada se moze dodati u res.

I na kraju STATIC dispatch-uje sve message kroz cast-ovani WM_COMMAND, znaci LoWord je identifier kontrole, a HiWord je event koji se odigrao.

Eto toliko za ovo ukljucenje Mr. Green



offline
  • svo 
  • Novi MyCity građanin
  • Pridružio: 19 Feb 2009
  • Poruke: 4

Hvala ti puno! Ziveli

Ko je trenutno na forumu
 

Ukupno su 2053 korisnika na forumu :: 10 registrovanih, 4 sakrivenih i 2039 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 20624 - dana 04 Apr 2026 04:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: branko7, gorankuba, havoc995, Komder, MilosM, Rok A Bit, sajorg, Shilok, superwhy, Zastava