Einzelnen Beitrag anzeigen

Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: MDI Child Top-Position forcieren

  Alt 31. Mai 2011, 19:32
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);
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat