![]() |
2. Form in der Taskbar -> Modalresult auf Mainform
Hallo
Ich habe ein Programm das neben der Mainform noch ein zweites Formular in der Taskleiste anzeigt. Erzeugt wird der Eintrag mit
Delphi-Quellcode:
.
procedure TfmZweitform.CreateParams(var Params:TCreateParams);
begin inherited CreateParams(Params); Params.WndParent :=GetDesktopWindow; Params.Caption := PChar(Caption); end; Wenn ich in diesem Formular jetzt ein neues Fenster per Showmodal oder Showmessage aufrufe, dann wird das modale Fenster immer an der Mainform angezeigt. Das gefällt mir nicht und leider hab ich noch nichts gefunden um das zu verhindern. Alternativ habe ich im Forum noch diese Möglichkeit gefunden um ein Fenster in die Taskleiste zu bekommen:
Delphi-Quellcode:
Damit erscheinen auch die modalen Fenster auf dem "richtigen" Formular, jedoch kann man per Taskleiste nicht zwischen der Mainform und der zweiten Form umschalten. :(
SetWindowLong(Handle, GWL_ExStyle, GetWindowLong(Handle,GWL_EXSTYLE) or WS_Ex_AppWindow);
Hat da vielleicht jemand ne Idee wie ich zwei die zwei Formulare nebeneinander in der Taskleiste haben kann (mit freiem hin und herschalten) und modale Fenster auf dem Formular erscheinen, von dem sie aufgerufen werden? |
Re: 2. Form in der Taskbar -> Modalresult auf Mainform
Liste der Anhänge anzeigen (Anzahl: 1)
Hat keiner eine Idee oder hatte das gleiche Problem?
Ich hab mal zur Veranschaulichung ein kleines Demoprojekt angefügt, vielleicht hat ja mal jemand lust sich das mal anzugucken. |
Re: 2. Form in der Taskbar -> Modalresult auf Mainform
*Alte Themen aufarbeit*
Delphi-Quellcode:
... funktioniert bei mir gut, um das Modale Form auch in der Taskleiste anzuzeigen.
SetWindowLong(Handle, GWL_ExStyle, GetWindowLong(Handle,GWL_EXSTYLE) or WS_Ex_AppWindow);
Bitte bedenke: Ein Modal angezeigtes Formular _muss_ erst geschlossen werden, bevor das "Hauptfenster" weiterläuft. Sonst macht das Modal anzeigen ja keinen Sinn. Für deine Zwecke solltest Du einfach nur das zweite Formular sichtbar schalten und dann z.B. bei OnClose im zweiten Formular eine Prozedur vom Hauptformular aufrufen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 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-2025 by Thomas Breitkreuz