Verschieb-Problem
-
Hi @ All.
ich habe es so gemacht, dass das Fenster beim Ziehen verschieben soll.
Aber das geht nicht!
hier meine Msg-Loop:
RECT rClient; POINT pWindow, pMouse; case WM_MOUSEMOVE: if (MK_LBUTTON == wParam) { GetClientRect(hWnd, &rClient); pWindow.x = rClient.left; pWindow.y = rClient.top; pMouse.x = LOWORD(lParam); pMouse.x = HIWORD(lParam); SetWindowPos(hWnd, NULL, pWindow.x+pMouse.x-pMouseOld.x, pWindow.y+pMouse.y-pMouseOld.y, 0, 0, SWP_NOSIZE); } pMouseOld.x = LOWORD(lParam); pMouseOld.x = HIWORD(lParam); return 0;thx.
-
Script-Styler schrieb:
Aber das geht nicht!

-
was denn?
das funktioniert nicht.
wie soll ich das denn machen?
-
Script-Styler schrieb:
wie soll ich das denn machen?
Für's erste solltest du mal eine ordentlich Fehlerbeschreibung abliefern. "Funktioniert nicht" ist jedenfalls keine.
-
MFK schrieb:
Script-Styler schrieb:
wie soll ich das denn machen?
Für's erste solltest du mal eine ordentlich Fehlerbeschreibung abliefern. "Funktioniert nicht" ist jedenfalls keine.
dooch!
aber gut:
wenn ich das anwende, dann verschiebt er sich einfach wo anders hin, oder garnicht.was mache ich falsch? nehme ich die Fensterposition falsch auf oder warum macht er sowas?
danke.
-
The GetClientRect function retrieves the coordinates of a window's client area. The client coordinates specify the upper-left and lower-right corners of the client area. Because client coordinates are relative to the upper-left corner of a window's client area, the coordinates of the upper-left corner are (0,0).
-
wie soll ich denn dan die Fensterkoordinaten bekommen?
-
Was willst du eigentlich?
Dass das Fenster überall, auch im Client-Bereich bewegt werden kann?
Das wurde heir shcon 1000x beantwortet. Bitte also erst die Suchfunktion benutzen.case WM_LBUTTONDOWN: ReleaseCapture(); return SendMessage(hwnd, WM_SYSCOMMAND, SC_MOVE+HTCAPTION, 0);