![]() |
MDI Child Top-Position forcieren
Wieder mal das leidige Thema MDI...
Ich muss ein MDI-Child maximiert erzeugen. Im Laufe der Bedienung kann der Benutzer das Child auch mal normalisiert darstellen (durch Klick auf den Button links neben [X]). Dann verkleinert sich das Child. Dabei möchte ich eine gewisse Top-Position bestimmen, weil das MDI-System das Fenster automatisch an eine Position stellt, die mir nicht passt; wie geht das? Wie immer: danke im Voraus für alles, was da kommt ;-) |
AW: MDI Child Top-Position forcieren
Wie befürchtet: keine Ideen.
In Beantwortung meiner eigenen Frage, für wen auch immer es interessiert: Die Zuweisung von *Top* greift erst, wenn das Fenster *WindowState = wsMaximized* hat. Die Zuweisung an *Top* bewirkt aber, dass der Zustand *wsMaximized* verlorengeht. Lösung:
Delphi-Quellcode:
SendMessage(lfrmMdiChild.Handle, WM_SETREDRAW, 0, 0);
lfrmMdiChild.FormStyle := fsMDIChild; lfrmMdiChild.WindowState := wsMaximized; lfrmMdiChild.Top := 2; lfrmMdiChild.WindowState := wsMaximized; SendMessage(lfrmMdiChild.Handle, WM_SETREDRAW, 1, 0); RedrawWindow(Application.MainForm.Handle, nil, 0, RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN or RDW_NOINTERNALPAINT); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz