![]() |
Welcher Button wurde gedrückt (selbsterstellter Dialog)
Guten Tag.
Ich habe zwei Units (bzw. zwei Forms). Das eine ist die Hauptform und das andere ist ein selbstgebastelter Dialog. Wie kann ich jetzt im Hauptfenster feststellen, welcher button im Dialog gedrückt wurde? Man könnte das ja mit Globalen Variablen machen. Aber die sind ja nicht gut (heißts hier überall)... Wie kann ich also Informationen in die andere Unit transportieren? Danke für Hilfe... mfg mr47 |
Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)
Du könntest sie z.B. im Public-Bereich einer Klasse (z.B. deines Forms) unterbringen. Dann mit Form2.Variable1 ansprechen. ;)
|
Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)
hi,
das könnte man IMHO mit modalresult machen. kannst du im OI machen. gruss urbanbruhin |
Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)
Zitat:
Hört sich gut an. Es gibt auch von allen(?) objekten ein Modalresult. Aber wie übergebe ich dass dann? Also wenn ich in Form2 3 Buttons hab kommt dann
Delphi-Quellcode:
??? Oder wie.
form2.ModalResult:=button3.ModalResult;
Diese Zuweisung ist zwar erlaubt, aber wie prüfe ich dass dann in der Mainform? mfgUndDanke mr47 |
Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)
![]() |
Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)
hi,
ich habe es auch noch nie angewendet, habe aber mal etwas ausprobiert und es funktioniert. auf form2 (dialog) befinden verschiedene buttons. du musst im OI zu jedem button ein modalresult angeben. auf form1 (hauptform) kannst du dann die form2 so aufrufen:
Delphi-Quellcode:
auf form2 brauchst du keinen quelltext zu schreiben!
procedure TForm1.Button1Click(Sender: TObject);
begin form2.ShowModal; // showmodal ist wichtig, sonst kommt die messagebox, bevor du auf einen button geklickt hast if form2.ModalResult = mrok then // mrok, mrcancel, usw... alle verschiedenen die du den buttons auf form 2 zugewiesen hast showmessage('ok') if form2.ModalResult = mrcancel then showmessage('abbrechen') end; ich hoffe du verstehst es gruss urbanbruhin |
Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)
Danke euch allen! Die Hilfe hat mir grad ein wenig geholfen. Wollte es jetzt grad ausprobieren aber urbanbruhins Posting erledigt das!
Vielen Dank mfg mr47 |
Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)
ModalResult ist bereits der Rückgabewert von ShowModal.
Zitat:
|
Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)
aber der rückgabewert von showmodal ist ja eine integer zahl, und nicht msok, mrcancel usw.
dann müsste man es etwa so machen:
Delphi-Quellcode:
gruee
procedure TForm1.Button1Click(Sender: TObject);
begin case form2.ShowModal of 1://... 2://... 3://... //... end; end; urbanbruhin |
Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)
Zitat:
Der Rückgabewert is n Integer, klar, aber AFAIK is mrOK auch einer. Also kein Aufzählungstyp(heißt das so?), sondern ne Konstante. Das is glaub ich aus Kompatibilitätsgründen so. ![]() mfg Christian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:28 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