AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OnCloseQuery in einer MDI-Anwendung

Ein Thema von Codehunter · begonnen am 14. Feb 2011 · letzter Beitrag vom 15. Feb 2011
 
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.283 Beiträge
 
Delphi 12 Athens
 
#1

OnCloseQuery in einer MDI-Anwendung

  Alt 14. Feb 2011, 13:41
In einer MDI-Anwendung werfen ja zuerst alle geöffneten MDI-Childs ihr eigenes OnCloseQuery-Event bevor das OnCloseQuery-Event vom MDI-Parent ausgelöst wird.

Das Problem an der Sache: Haben mehrere der MDI-Childs intern den Status "Verändert und ungespeichert", so erzeugt jedes Child ein neues "Willste mich nicht lieber speichern?"-Fenster da das im OnCloseQuery so angelegt ist. Ich möchte es aber etwas differenzieren:

Wird nur ein ungespeichertes MDI-Child geschlossen, so soll nur gefragt werden ob diese eine Datei gespeichert werden soll. Wird aber die ganze Anwendung geschlossen, so soll ein anderes Fenster erscheinen, worin alle ungespeicherten Dateien (sprich MDI-Childs) aufgelistet und auswählbar sind. Bei letzterer Variante ist natürlich nicht nötig, dass jedes Child seinen eigenen, im OnCloseQuery-Eventhandler angelegten Nachfragedialog öffnet.

Gibt es eine Möglichkeit, innerhalb eines MDI-Child abzufragen, ob die Close-Anforderung nur das eine Child betrifft oder die gesamte Anwendung? Sprich: Hat der User auf das X vom Child geklickt oder auf das X der Anwendung?

EDIT: Ich habe eine halbwegs praktikable Lösung gefunden. Im WndProc des Hauptformulars fange ich WM_CLOSE ab. MainForm.WndProc wird zum Glück vor den Close-Prozeduren der MDI-Childs aufgerufen. Dadurch kann ich eine anwendungsglobale Variable setzen und im OnCloseQuery der MDI-Childs abfragen.

Geändert von Codehunter (14. Feb 2011 um 14:11 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 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 by Thomas Breitkreuz