Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi 2. Form in der Taskbar -> Modalresult auf Mainform (https://www.delphipraxis.net/120017-2-form-der-taskbar-modalresult-auf-mainform.html)

_Sebastian_ 4. Sep 2008 14:04


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:
SetWindowLong(Handle, GWL_ExStyle, GetWindowLong(Handle,GWL_EXSTYLE) or WS_Ex_AppWindow);
Damit erscheinen auch die modalen Fenster auf dem "richtigen" Formular, jedoch kann man per Taskleiste nicht zwischen der Mainform und der zweiten Form umschalten. :(

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?

_Sebastian_ 8. Sep 2008 08:40

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.

berens 10. Feb 2009 14:26

Re: 2. Form in der Taskbar -> Modalresult auf Mainform
 
*Alte Themen aufarbeit*

Delphi-Quellcode:
SetWindowLong(Handle, GWL_ExStyle, GetWindowLong(Handle,GWL_EXSTYLE) or WS_Ex_AppWindow);
... funktioniert bei mir gut, um das Modale Form auch in der Taskleiste anzuzeigen.


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 17:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz