![]() |
AW: Wie ShowModal Form aus dem HauptForm schließen?
@AlexII
Was du da machst ist vermutlich "falsch" (in Anführungszeichen). Das ShowModal Fenster hat eigentlich einen Sinn. So wie es aussieht nutzt du es aber für die Sperrung eines Fensters. Das kann man aber auch anders lösen. Hier mal etwas aus meinem alten Beispiele-Ordner. Form1:
Delphi-Quellcode:
Form2
procedure TForm1.Button1Click(Sender: TObject);
var ModalResult: ShortInt; begin ModalResult := ModalForm.ShowModal; case ModalResult of mrOk : ShowMessage('Das Modalfenster hat mrOk als Ergebnis.'); mrCancel : ShowMessage('Das Modalfenster hat mrCancel als Ergebnis.'); mrAbort : ShowMessage('Das Modalfenster hat mrAbort als Ergebnis.'); mrRetry : ShowMessage('Das Modalfenster hat mrRetry als Ergebnis.'); mrIgnore : ShowMessage('Das Modalfenster hat mrIgnore als Ergebnis.'); mrYes : ShowMessage('Das Modalfenster hat mrYes als Ergebnis.'); mrNo : ShowMessage('Das Modalfenster hat mrYes als Ergebnis.'); mrAll : ShowMessage('Das Modalfenster hat mrAll als Ergebnis.'); mrNoToAll : ShowMessage('Das Modalfenster hat mrNoToAll als Ergebnis.'); mrYesToAll : ShowMessage('Das Modalfenster hat mrYesToAll als Ergebnis.'); else {mrNone} ShowMessage('Das Modalfenster hat mrNone als Ergebnis.'); end; end;
Delphi-Quellcode:
procedure TModalForm.Button1Click(Sender: TObject);
begin //ohne Close passiert nichts end; procedure TModalForm.Button2Click(Sender: TObject); begin Close; //mit Close wird das Fenster geschlossen. ModalResult = mrCancel //Close setzt das Fenster von sich aus automatisch auf mrCancel end; procedure TModalForm.Button3Click(Sender: TObject); begin ModalResult := mrOk; //Close; //Close ist nicht nötig. ModalResult = mrOk end; procedure TModalForm.Button4Click(Sender: TObject); begin ModalResult := mrCancel; //Close; //Close ist nicht nötig. ModalResult = mrCancel end; procedure TModalForm.Button5Click(Sender: TObject); begin ModalResult := mrNone; //Bringt nichts. mrNone bewirkt kein Schleißen Close; //Close ist nötig. ModalResult = mrCancel end; procedure TModalForm.Button6Click(Sender: TObject); begin ModalResult := mrYes; //Close; //Close ist nicht nötig. ModalResult = mrYes end; |
AW: Wie ShowModal Form aus dem HauptForm schließen?
Zitat:
Wenn du also versuchst aus der HauptForm das modale Fenster zu schließen zerschießt du quasi das Parent Fenster (Hauptform) selbst. Zumindest kenne ich das aus VB Zeiten nicht anders.
Code:
Ist eine der gründe warum die Eingabe in der Hauptform durch das modale Fenster gesperrt wird.
Form2.Show vbModal, Me
gruss |
AW: Wie ShowModal Form aus dem HauptForm schließen?
Übrigens, wie jede Komponente hat TForm auch die Eigenschaft Enabled. Das kann man auf False setzten, dann reagiert das Fenster aber gar nicht mehr. Eine bessere Möglich wäre aber einfach auf das Formular ein TPanel zu setzten und das False zu stellen. Die Komponenten legst du auf das Panel. Ist Panel nicht Enabled, reagiert keine Komponente drauf.
|
AW: Wie ShowModal Form aus dem HauptForm schließen?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat:
Um die Menüs, falls vorhanden, muß er sich dann extra kümmern. Wenn er keine ActionList hat, beschränkt sich das darauf, die Hauptmenü-Einträge zu disablen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:34 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