Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

::EnableWindow messages order

[es] :: C/C++ programiranje :: ::EnableWindow messages order

[ Pregleda: 1367 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

havramm
Miroslav Havram
Software Developer / Engineer
Beograd

Član broj: 4603
Poruke: 255
212.62.55.*



Profil

icon ::EnableWindow messages order16.04.2005. u 12:03 - pre 231 meseci
U jednom delu koda potrebno mi je da privremeno disable-ujem dugme. Prvo sto sam bio uradio bilo je da sam probao sa jednostavnim slanjem poruke WM_ENABLE sa wParam postavljenim na FALSE:

Code:
::SendDlgItemMessage(IDC_BUTTON1, WM_ENABLE, (WPARAM)FALSE, 0);

Medjutim, veoma sam se zacudio da to nije htelo da radi pa sam zamenio sa

Code:
HWND hWndBtn = NULL;

hWndBtn = GetDlgItem(hWnd, IDC_BUTTON1); // hWnd je dialog
::EnableWindow(hWndBtn, FALSE);

i to je naravno radilo.
E sada, to me je prilicno zaintrigiralo i, ne lezi vraze, pogledah u spy-u koje se poruke salju prilikom poziva ::EnableWindow i redosled je bio sledeci:

Code:
WM_CANCELMODE
WM_ENABLE, wParam=FALSE

OK, vratio sam se prvoj verziji i dodao jos jedno slanje poruke:

Code:
::SendDlgItemMessage(IDC_BUTTON1, WM_CANCELMODE, 0, 0);
::SendDlgItemMessage(IDC_BUTTON1, WM_ENABLE, (WPARAM)FALSE, 0);

Medjutim opet se nista nije dogodilo.

Uporedjivanjem dve razlicite verzije kompajliranog koda utvrdio sam da i ::EnableWindow i eksplicitno slanje pojedinacnih poruka rezultira u primanju istih poruka sa istim parametrima i u istom redosledu, medjutim ponasanje nije identicno.

Da li mozda neko zna o cemu se radi posto sam bas radoznao?
If it's a girl then they're gonna call it Sigourney, after an actress. If it's a boy, then they're gonna call it Rodney, after Dave!
 
Odgovor na temu

[es] :: C/C++ programiranje :: ::EnableWindow messages order

[ Pregleda: 1367 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.