Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - MessageDlg-Frage zur Syntax und zum Beschriften der Buttons
Schweini31 - Do 20.12.07 19:41
Titel: MessageDlg-Frage zur Syntax und zum Beschriften der Buttons
Hallo,
Ich habe 2 Fragen zum MessageDlg in Delphi.
Ich würde gerne einen MessageDlg machen in dem ich 2 Buttons beschriften kann.
Dabei habe ich 2 Probleme.
1+2.
Delphi-Quelltext
1:
| messagedlg('Welchen Wert soll das Ass haben?',mtConfirmation,); |
So jetzt weiß ich nicht wie ich die Buttons proggen soll... Ich hätte gerne 2 Buttons mit der Aufschrift '1' und '11'.
Geht das überhaupt mit einem MessageDlg?
Bitte helft mir :(
Schweini :)
LorenzS - Do 20.12.07 19:45
Du kannst dir auch nen dialog selber erstellen , zB als Tform mit einer public funtion die die form auf show oder showmodal macht und die das egebnis zurück gibt wenn diese wieder gechlossen wird.
Schweini31 - Do 20.12.07 19:48
LorenzS hat folgendes geschrieben: |
Du kannst dir auch nen dialog selber erstellen , zB als Tform |
Sogut bin ich leider noch nicht, das heißt ich weiß nicht wie die Form dann aufrufe....
Wenn es mir vllt jemand erklären könnte? :D
LorenzS - Do 20.12.07 19:54
mindestens eine formular erstellst du doch beim anwenundungs erstellen, einfach ein 2. formular erstellen.
fomulare zeigt man mit Form.show oder Form.showmodal an
Schweini31 - Do 20.12.07 19:57
LorenzS hat folgendes geschrieben: |
mindestens eine formular erstellst du doch beim anwenundungs erstellen, einfach ein 2. formular erstellen. |
Jaja das erstellen ist nicht das was ich nicht verstehe sondern das "aufrufen" nachdem ich Form erstellt habe. Also die Hauptform. Was mir klar ist: Ich muss die Form in der Uses Klausel deklarieren.
Aber dann brauch ich ja einen Button der die 2. aufruft und wie sieht der Code davon aus ? :(
Schweini
LorenzS - Do 20.12.07 20:12
1. Hauptformular
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| uses UAltDlg;
Function ShowAltDialog(lText,lButton1,lButton2:string):integer; begin AltDialog.Label1 .caption := lText; AltDialog.Button1.caption := lButton1; AltDialog.Button2.caption := lButton2; AltDialog.showmodal; Result:=AltDialog.Ergebnis; end;
procedure TForm1.Button1Click(Sender: TObject); begin ShowAltDialog('Welchen Wert soll das Ass haben?','1','11'); end; |
2. UAltDlg.pas ein Formular mit einem Label und 2 Buttons
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48:
| unit UAltDlg;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TAltDialog = class(TForm) Button1: TButton; Label1: TLabel; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormShow(Sender: TObject); private public Ergebnis:integer; end;
var AltDialog: TAltDialog;
implementation
{$R *.DFM}
procedure TAltDialog.Button1Click(Sender: TObject); begin Ergebnis:=1; close; end;
procedure TAltDialog.Button2Click(Sender: TObject); begin Ergebnis:=2; close; end;
procedure TAltDialog.FormShow(Sender: TObject); begin Ergebnis:=-1; end;
end. |
Sry, das es solange gedauert hat, ich musste es erst noch programmieren.
Schweini31 - Do 20.12.07 20:31
Brauchste dich doch nicht für entschudligen; ich habe zu danken. gibt sicher nicht viele die sich hier die Mühe gemacht hätten das Programm zu schreiben ! Danke!
Schweini
Shorty - Fr 21.12.07 19:11
So eine neue Form erzeugen ist eigentlich relativ umständlich, wenn man einen Dialog haben will, der wie der von MessageDlg aussieht, geht das auch einfacher:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| var Dlg: TForm; begin Dlg := CreateMessageDialog('Fehler', mtError, MBOKCANCEL); try TButton(Dlg.FindComponent('OK')).Caption := 'Löschen'; TButton(Dlg.FindComponent('Cancel')).Caption := 'Beenden'; case Dlg.ShowModal of mrOK:ShowMessage('Löschen'); mrCancel:ShowMessage('Beenden'); end; finally FreeAndNil(Dlg); end; end; |
MfG Shorty
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!