WM_MOVE
-
Hallo...
Möchte gerne die aktuelle Fenster-Position abfragen.
Wenn das Fenster verschoben wird dann wird doch anschließend eine
WM_MOVE - Nachricht gesendet oder ?Wenn ich das richtig verstanden habe ist in
LOWORD(lParam) die X Position,
HIWORD(lParam) die Y Position,doch irgentwie tut sich nicht sehr viel bekomme immer den gleichen
Wert zu sehen nämlich irgentein Minuswert was aber eigentlich doch nicht
sein kann oder ?Und hier ein Stück vom Code:
case WM_MOVE:
WinPos.x= LOWORD(lParam);
WinPos.y= HIWORD(wParam);
break;
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);TextOut(hdc, 10,10,szBuffer , wsprintf(szBuffer,
"X-Pos.: %d; Y-Pos.: %d.", WinPos.x, WinPos.y));EndPaint(hwnd, &ps);
break;
-
keine Ahnung, ob es damit zusammen hängt:
MSDN-Library schrieb:
xPos = (int)(short) LOWORD(lParam); // horizontal position yPos = (int)(short) HIWORD(lParam); // vertical position
WinPos ist static, oder?
-
static POINTS WinPos;
case WM_MOVE:
WinPos.x= LOWORD(lParam);
WinPos.y= HIWORD(wParam);UpdateWindow(hWnd);
break;
-
WinPos.y= HIWORD(wParam);
Da sieht auf jeden Fall mal falsch aus
-
Joop
wParam muss lParam sein... kleiner Tippfehler.Jetzt hab ich auch gesehen was ich noch vergessen hab.
Ich muss natürlich den Client-Bereich für ungültig erklären damit ich ne
neue Ausgabe meiner Werte bekomme und zwar nicht mit UpdateWindow()
sondern mit InvalidateRect().THX für die Antworten.