Page 1 of 1

Popup-Fenster zum untergeordneten Fenster in Win API C++?

Posted: 13 Jan 2025, 16:48
by Guest
Ich erstelle eine Anwendung in WINAPI 32 mit C++. Ich habe ein übergeordnetes Fenster und ein untergeordnetes Fenster und ein Kontrollkästchen, mit dem das untergeordnete Fenster aus dem übergeordneten Fenster herausspringt oder andockt, wenn es nicht aktiviert ist.
Dafür verwende ich diese Methoden. Es funktioniert einwandfrei, wenn ich das übergeordnete Fenster verschiebe und das untergeordnete Fenster wieder an die richtige Position bringt.
Wenn ich das untergeordnete Fenster verschiebe, hat es diesen Versatz und passt nicht richtig in das übergeordnete Fenster.

Code: Select all

 void ChangeWindowToPopup(HWND hwnd) {
LONG style = GetWindowLong(hwnd, GWL_STYLE);

style &= ~WS_CHILD;
style |= WS_OVERLAPPEDWINDOW;
style &= ~WS_MAXIMIZEBOX;
// Apply the new style
SetWindowLong(hwnd, GWL_STYLE, style);
SetParent(hwnd, NULL);
}

void RevertToChildWindow(HWND hwnd, HWND parent) {

LONG style = GetWindowLong(hwnd, GWL_STYLE);
style &= ~WS_OVERLAPPEDWINDOW;
style |= WS_CHILD;

SetWindowLong(hwnd, GWL_STYLE, style);

SetParent(hwnd, parent);

}
Muss ich es hier aktualisieren? Oder sonst noch etwas, um das ich mich kümmern sollte?