AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Welcher Button wurde gedrückt (selbsterstellter Dialog)
Thema durchsuchen
Ansicht
Themen-Optionen

Welcher Button wurde gedrückt (selbsterstellter Dialog)

Ein Thema von mr47 · begonnen am 4. Jun 2005 · letzter Beitrag vom 6. Jun 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von mr47
mr47

Registriert seit: 6. Dez 2004
Ort: Stuttgart
644 Beiträge
 
Delphi 2005 Personal
 
#1

Welcher Button wurde gedrückt (selbsterstellter Dialog)

  Alt 4. Jun 2005, 21:28
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
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#2

Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)

  Alt 4. Jun 2005, 21:32
Du könntest sie z.B. im Public-Bereich einer Klasse (z.B. deines Forms) unterbringen. Dann mit Form2.Variable1 ansprechen.
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#3

Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)

  Alt 4. Jun 2005, 21:57
hi,

das könnte man IMHO mit modalresult machen. kannst du im OI machen.

gruss
urbanbruhin
  Mit Zitat antworten Zitat
Benutzerbild von mr47
mr47

Registriert seit: 6. Dez 2004
Ort: Stuttgart
644 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)

  Alt 4. Jun 2005, 22:23
Zitat von urbanbruhin:
hi,

das könnte man IMHO mit modalresult machen. kannst du im OI machen.

gruss
urbanbruhin
Hi.

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

form2.ModalResult:=button3.ModalResult; ??? Oder wie.
Diese Zuweisung ist zwar erlaubt, aber wie prüfe ich dass dann in der Mainform?

mfgUndDanke mr47
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#5

Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)

  Alt 4. Jun 2005, 22:27
Delphi-Referenz durchsuchenModalResult
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#6

Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)

  Alt 4. Jun 2005, 22:33
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:
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;
auf form2 brauchst du keinen quelltext zu schreiben!
ich hoffe du verstehst es

gruss
urbanbruhin
  Mit Zitat antworten Zitat
Benutzerbild von mr47
mr47

Registriert seit: 6. Dez 2004
Ort: Stuttgart
644 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)

  Alt 4. Jun 2005, 22:35
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
  Mit Zitat antworten Zitat
Benutzerbild von Mystic
Mystic

Registriert seit: 18. Okt 2003
Ort: Flerzheim
420 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)

  Alt 5. Jun 2005, 01:51
ModalResult ist bereits der Rückgabewert von ShowModal.

Zitat von Delphi Hilfe:
Mit ShowModal können Sie ein Formular modal anzeigen. Da bei einem modalen Formular die Anwendung unterbrochen wird, bis der Benutzer das Fenster wieder schließt, gibt ShowModal die Steuerung erst nach dem Schließen des Formulars zurück. Dabei wird auch der Wert der Eigenschaft ModalResult zurückgegeben.

Um ein modales Formular zu schließen, setzen Sie seine Eigenschaft ModalResult auf einen Wert ungleich 0.
Jan Steffens
Der Fachwortgenerator - 100% Schwachsinn --- Der UPnP Router Manager - Kommentare erwünscht!
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#9

Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)

  Alt 5. Jun 2005, 10:13
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:
procedure TForm1.Button1Click(Sender: TObject);
begin
  case form2.ShowModal of
  1://...
  2://...
  3://...
  //...
  end;
end;
gruee
urbanbruhin
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#10

Re: Welcher Button wurde gedrückt (selbsterstellter Dialog)

  Alt 5. Jun 2005, 10:25
Zitat von urbanbruhin:
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:
procedure TForm1.Button1Click(Sender: TObject);
begin
  case form2.ShowModal of
  1://...
  2://...
  3://...
  //...
  end;
end;

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.
Delphi-Referenz durchsuchenmrOK

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:40 Uhr.
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