WM_COMMAND auswerten
-
Hallo Leute,
ich habe eine Procedur bei der ein integerwert übergeben wirdvoid Lade_Daten(int id){ : : }diese möcht ich über meinen Eventhandler aufrufen
switch (message){ case WM_COMMAND: wmId= LOWORD(wParam); wmEvent = HIWORD(wParam); parameter = LOWORD(lParam); switch (wmId){ case BUTTON_LOAD: Lade_Daten(parameter) break;mit post message möchte ich dem Eventhanler den entsprechenen Aufruf geben
int id; id = -1; PostMessage(Wnd_Main, WM_COMMAND, (WPARAM)BUTTON_LOAD, (LPARAM)MAKELONG(id, 0));geht mit positivn Zahlen, aber nicht mit z.B. -1, wo liegt mein Fehler, kann mir jemand helfen?
-
ganz einfach
MAKELONG = makro welches ein DWORD zurueck gibt
und
DWORD = unsigned longdh vorteichenlos {o;
uebergib es einfach ohne des MAKELONG, zahlen wie 0 1 oder -1 kannst du an LPARAM ohne probleme uebergeben
-
PostMessage(Wnd_Main, WM_COMMAND, (WPARAM)BUTTON_LOAD, (LPARAM)(-1));bei Übergabe von -1 bekomme ich immer LOWORD(lParam) = 65535 als parameter übergeben, geb ich z.B 4 ein bekomme ich auch 4
-
WinApi ist net so einfach schrieb:
parameter = LOWORD(lParam);Du zerteilst (long)lParam in short low und short high; long = 32 Bit, short = 16 Bit
-
Ah->ja, danke für den Hinweis, jetzt klapptz.