![]() |
Dialoganzeige Abbrechen
Hallo zusammen,
wie schließe ich einen modal angezeigten Dialog im Ereignis OnShow. Folgendes hab ich schon probiert:
Delphi-Quellcode:
hat jemand mal einen Tip?
type
TDialog. = class(TForm) ... private CanShow: boolean; ... end; procedure TDialog.FormShow(Sender: TObject); begin // Prüfungen ob Dialog angezeigt werden darf negativ: CanShow:= false; Exit; // Code wenn Prüfung positiv end; procedure TDialog.FormActivate(Sender: TObject); begin if CanShow=false then ModalResult:= mrCancel; // geht nicht Dialog wird trotzdem angezeigt if CanShow=false then BitBtnCancelClick(Sender); // geht auch nicht Dialog wird trotzdem angezeigt, kann dann aber über BitBtnCancel geschlossen werden if CanShow=false then Hide; // geht auch nicht Dialog wird trotzdem angezeigt end; |
Re: Dialoganzeige Abbrechen
Im OnShow ist es wohl etwas spät. Kannst du das nicht eher überprüfen?
Edit: wobei ein "Close;" reichen dürfte. |
Re: Dialoganzeige Abbrechen
if CanShow=false then Close; // Geht auch nicht, Dialog wird angezeigt
Ich möchte nicht früher prüfen, da die Prüflogik im Dialogformular sein sollte. Der Dialog wird an verschiedenen Stellen aufgerufen und soll so einfach wie möglich sein. Wenn der Dialog auch kutz aufflackern sollte dann aber wieder zugeht wäre in Ordnung |
Re: Dialoganzeige Abbrechen
Zitat:
Delphi-Quellcode:
oder so ähnlich sollte doch immer gehen?
If Dialog.Check then Dialog.show
|
Re: Dialoganzeige Abbrechen
Richtig, so werd ich es jetzt umsetzen.
Danke :thumb: (Manchmal dauert es eben länger bis man morgens auchwacht) |
Re: Dialoganzeige Abbrechen
Alternative notlösung falls bestimmung in Methode nicht möglich:
Delphi-Quellcode:
PostMessage(self.Handle, WM_CLOSE, 0, 0);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:01 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