Fensterverschieben verbieten
-
Hallo zusammen,
ich möchte in einer MDI-Anwendung verhindern, dass der User die ChildWindows verschieben kann. Allerdings sollen diese Fenster ihre Titelleiste behalten.
Ich hatte mir gedacht, per PreTranslateMessage die WM_COMMAND - SC_MOVE - Nachricht abzufangen, aber leider kommt da weder beim ChildWindow noch bei der View eine Nachricht an. Hab mal mit dem Spy++ nachgeschaut, aber der konnte mir auch nicht sagen, wozu der Rahmen des ChildWindows gehört (also welche Klasse das ist).
Hat jemand eine Idee, wo man ansetzen muss, um das Problem zu lösen? Ziel ist, dass die Fenster sich nicht verschieben lassen.
Vielen Dank schon im Voraus!
-
Hallo!
Leider hat er keine Lösung gepostet, aber NC_HITTEST schien zu helfen.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-78518-and-highlight-is-nchittest.html
-
Klasse!!
Vielen Dank
Hab es so gelöst:
BOOL CChildFrame::PreTranslateMessage(MSG* pMsg) { if (pMsg->message == WM_NCLBUTTONDOWN && pMsg->wParam == HTCAPTION) return TRUE; return CMDIChildWnd::PreTranslateMessage(pMsg); }