Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Ausblenden des Hauptformulars(SDI), aber nicht daraus erzeugte Child Formulare (https://www.delphipraxis.net/212090-ausblenden-des-hauptformulars-sdi-aber-nicht-daraus-erzeugte-child-formulare.html)

dstein 16. Dez 2022 08:11

Delphi-Version: 10.2 Tokyo

Ausblenden des Hauptformulars(SDI), aber nicht daraus erzeugte Child Formulare
 
Die Älteren von euch werden bestimmt das ein oder andere Delphi Buch aus dem Hanser Verlag, C&L oder mitip kennen.
Auch das Internet ist recht spärlich zu diesem Thema.
Leider finde ich zu meiner Frage keine für mich verständliche Antwort.
Also traue ich mich hier in die Runde eine Anfängerfrage zustellen.

Ich habe Hauptformular(SDI) und ein Childformular, vom Hauptformular aus erzeuge ich ein Childformular per:
frmClient := TfrmClient.create(self);
frmClient.show;

Nun möchte ich das Hauptformular minimieren (evtl. später nur in der Taskleiste) aber das frmClient sollen weiterhin auf dem Desktop sichtbar bleiben. Leider verschwinden das frmClient ebenfalls wenn das Hauptformular minimiert wird.
Ich habe verschiedenes ausprobiert, aber das ist ein stochern im Dunkeln.
Habt ihr Literaturhinweise und Stichworte wo ich von lernen kann. Oder sogar praktische Beispiele wie so etwas gemacht wird?

stifflersmom 16. Dez 2022 08:38

AW: Ausblenden des Hauptformulars(SDI), aber nicht daraus erzeugte Child Formulare
 
Hide ist das Stichwort, wenn Du es nicht anzeigen willst.
Code:
frmClient := TfrmClient.create(self);
frmClient.show;
self.hide;

dstein 16. Dez 2022 09:23

AW: Ausblenden des Hauptformulars(SDI), aber nicht daraus erzeugte Child Formulare
 
Ja Danke,
aber mit hide ist das Mainformular nicht mehr greifbar, bei minimiert kann ich immer noch auf das Mainformular zugreifen

Bernhard Geyer 16. Dez 2022 09:26

AW: Ausblenden des Hauptformulars(SDI), aber nicht daraus erzeugte Child Formulare
 
Sowas dürfte einfach nicht gehen. Child kann man nicht sichtbar haben, wenn parent minimiert/versteckt ist.

Überleg dir mal ob du überhaupt noch auf MDI setzt.
Praktisch kein Programm nutzt das mehr. Ist mehr oder minder ein Konzept aus dem letzten Jahrtausend.

dstein 16. Dez 2022 09:27

AW: Ausblenden des Hauptformulars(SDI), aber nicht daraus erzeugte Child Formulare
 
Upps das funktioniert auch:
self.WindowState:= wsMinimized;

nee leider nicht, Client wird auch wsMinimized

dstein 16. Dez 2022 09:32

AW: Ausblenden des Hauptformulars(SDI), aber nicht daraus erzeugte Child Formulare
 
ich verwende kein MDI sondern Hauptformular(SDI)

freimatz 16. Dez 2022 09:49

AW: Ausblenden des Hauptformulars(SDI), aber nicht daraus erzeugte Child Formulare
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1516287)
Sowas dürfte einfach nicht gehen. Child kann man nicht sichtbar haben, wenn parent minimiert/versteckt ist.

Überleg dir mal ob du überhaupt noch auf MDI setzt.
Praktisch kein Programm nutzt das mehr. Ist mehr oder minder ein Konzept aus dem letzten Jahrtausend.

*Räusper* Kann doch sagen, dass mein Program noch etliche tausende Leute beruflich nutzen.
Ja das Konzept ist alt. Aber solange es keine brauchbare Alternative gibt nutze ich das weiterhin.
Aber zurück zum Thema: ich sehe nicht dass er irgendwo MDI nutzt.

himitsu 16. Dez 2022 10:15

AW: Ausblenden des Hauptformulars(SDI), aber nicht daraus erzeugte Child Formulare
 
Das Hauptformular übernimmt hier oft viele Eigenschaften, welche für die ganze Anwendung gelten, bzw. es fummelt (zu) oft eigenmächtig an solchen Einstellungen rum.

Mainform schließen = Anwendung beenden
Mainform minimieren = Anwendung minimieren
...

stifflersmom 16. Dez 2022 10:20

AW: Ausblenden des Hauptformulars(SDI), aber nicht daraus erzeugte Child Formulare
 
Zitat:

Zitat von dstein (Beitrag 1516285)
Ja Danke,
aber mit hide ist das Mainformular nicht mehr greifbar, bei minimiert kann ich immer noch auf das Mainformular zugreifen

Natürlich kannst Du noch auf die Mainform zugreifen.

Im OnClose der Form2 ein MainForm.Show und schon stehst Du wieder am Anfang.

dstein 16. Dez 2022 14:20

AW: Ausblenden des Hauptformulars(SDI), aber nicht daraus erzeugte Child Formulare
 
Liste der Anhänge anzeigen (Anzahl: 2)
Vieleicht hilft das weiter warum mich frage. In meinem Beispiel habe ich ein simples PostIT Tool gebaut. Das Programm und Basisverhalten entspricht meiner Vorstellung wie ohne Kopfzeile und Rahmenloses Clientformular das per Maus halten verschoben werden kann, kleine Feature StayOnTop Farben für Font und Background, zentrales speichern der Notizen in einer einfachen SQLite Tabelle usw..
Nur das Mainform minimieren, weil es zum normalen Gebrauch ausser per Doppelklick oder PopupMenu einen neuen PostIT-Zettel erstellen, nicht benötigt wird, bekomme ich nicht hin. Das im Mainform ein Grid mit allen PostIT-Zettel enthalten ist, ist nur eine Spielerrei.
Am Rande bemerkt; Alles was ich mit Delphi mache ist Hobby weil es mir Spaß macht ohne kommerzielle Ambitionen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:15 Uhr.
Seite 1 von 2  1 2      

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