Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   MainForm minimieren aber nicht zweites Form (https://www.delphipraxis.net/177055-mainform-minimieren-aber-nicht-zweites-form.html)

d7user1 13. Okt 2013 15:32

MainForm minimieren aber nicht zweites Form
 
hallo, wie bekomme ich es hin, wenn ich mein hauptformular durch einen klick auf den taskbutton in der taskleiste minimiere, dass ein zweites form nicht mit minimiert wird?

ich habe es schon mit dem überschreiben der CreateParams versucht, aber dann habe ich ein "icon" in der taskleiste (nicht dem system tray).

ich weiß nicht mher weiter ich habe schon alles versucht.
was kann ich machen?

Perlsau 13. Okt 2013 16:16

AW: MainForm minimieren aber nicht zweites Form
 
Du hast doch sicher die Unit von Form2 in die Uses deiner Haupt-Unit eingebunden. Vielleicht funktioniert es, wenn du nach dem Minimieren deiner Anwendung dieser Form2 einfach sagst, sie soll WindowState := wsNormal; ausführen ...

himitsu 13. Okt 2013 16:18

AW: MainForm minimieren aber nicht zweites Form
 
D7 hat nicht die MainForm in der Taskleiste, sondern der Button dort ist Delphi-Referenz durchsuchenApplication, also die ganze Anwendung.

Neuere Delphi haben dort jetzt wirklich die MainForm drin, da sonst Aero (seit Win7) bissl Probleme macht.

- du kannst in der Taskleiste wirklich deine MainForm reinmachen
(Application dort entfernen, deine Form anzeigen und die Mainform daran hindern die ganze App zu min mimieren)
- oder die Mainform austauschen
- oder die Message abfangen, welche die App minimiert und dann alles selbst so minimieren/anzeigen, wie du es willst

vagtler 13. Okt 2013 16:22

AW: MainForm minimieren aber nicht zweites Form
 
Zitat:

Zitat von himitsu (Beitrag 1231917)
[...] da sonst Aero (seit Win7) [...]

War das nicht schon in Vista?

d7user1 13. Okt 2013 16:38

AW: MainForm minimieren aber nicht zweites Form
 
"oder die Message abfangen..."

genau so habe ich es jetzt gemacht und es funktioniert auch. ich habe vorher die WMSysCommands abgefragt aber das funktionierte in diesem fall nicht.

korrekt ist
Delphi-Quellcode:
procedure WMShowWindow(var Msg: TWMSHOWWINDOW);
 begin
  if not Msg.Show then
   Msg.Result := 0
 else
  inherited;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 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