Fenster minimiert sich einfach
-
da muss ich dir wiedersprechen...
- es flackert und verschwindet sogar kurz
- nein. Man muss ja auf die Taskleiste klicken, um es sichtbar zu machen.
-
1.) zeig mal wie du das gemacht hast, bei mir sieht es gut aus und man sieht nichts flackern oder verschwinden
2.) Dann minimiere mal alle anderen Fenster und du wirst sehen, das es einfach nur im Hintergrund liegt, aber nicht minimiert ist
-
genau
-
LRESULT CALLBACK ChildProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch(message) { case WM_LBUTTONDOWN: MessageBox(NULL, "", "", MB_OK); return 0; case WM_DESTROY: SetForegroundWindow(hParent); break; } return DefWindowProc(hwnd, message, wParam, lParam); }
Da flackert nix!
-
LRESULT CALLBACK ChildProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch(message) { case WM_LBUTTONDOWN: MessageBox(hParent, "", "", MB_OK); return 0; } return DefWindowProc(hwnd, message, wParam, lParam); }
geht auch!
-
Was auch geht: Aktiviere mal in deinem Ausgangsprogramm nach Ausgabe der MessageBox dein ParentWindow und schließe dann dein Child.
[ Dieser Beitrag wurde am 23.03.2003 um 16:16 Uhr von WebFritzi editiert. ]
-
Doch, das flackert!
Bei diesem Beispiel zwar nur manchmal, ich habe aber bei meinem eigentlichen Programm ein großes Fenster mit etlichen Controls. Es flackert nicht nur: Es dauert eine halbe Sekunde, bis alles wieder da ist, was nicht normal ist. Der eigentliche Paint-Vorgang geht ja recht schnell.
-
kann man das programm mal ausprobieren?
-
Entschuldigung, die halbe Sekunde kommt durch was anderes zur stande
.
Und bier, du hattest recht, dass das Fenster sich nur hinter einem anderen rückt, ich merkte das nicht, da der Compiler immer offen war. Also braucht es einfach nur den Focus, um nicht zu verschwinden: Durch einen Aufruf von SetFocus() anstatt SetWindowForeground() wird jegliches Flackern unterbindetDanke für eure Bemühungen
-
Original erstellt von Black Shadow:
wird jegliches Flackern unterbindetIck spreken auk guter deutsch.