Entwickler-Ecke
Sonstiges (Delphi) - Kann man in nem MessageDlg "eigene" Buttons anzei
M@gindosch - Fr 27.02.04 23:55
Titel: Kann man in nem MessageDlg "eigene" Buttons anzei
Hallo,
kann mir jemand sagen ob (und wenn ja wie) ich bei einem MessageDlg einen "eigenen" Button einbinden kann?
Mein Problem ist folgendes:
Ich muss fürs Studium ein Rezeptverwaltungsprogramm schreiben, das auch Rezepte aus einer Datei importieren kann. Am Ende des Importiervorgangs erscheint ein MessageDlg -->
Delphi-Quelltext
1:
| if MessageDlg(IntToStr(Anzahl_neue_Rezepte)+' Rezept(e) wurden importiert!', mtInformation,[mbOk], 0) = mrOk then Statusformular.Close; |
Ich würde jetzt gerne dem User die Möglichkeit bieten sich durch einen Button "Details" die neu importierten Rezepte anzeigen zu lassen. Ist es möglich einen solchen "Details"-Button in den MessageDlg einzubinden?
Wäre cool wenn mir jemand weiterhelfen könnte
:D
Moderiert von
DeCodeGuru: Code- durch Delphi-Tags ersetzt
Urba - Sa 28.02.04 01:48
Ich wüsste nicht, wie man mit MessageDlg eigene Buttons hinzufügen kann, aber schau mal in der Hilfe nach MessageBox - ist quasi der Vorläufer ... da kannst du dich auch ein wenig durch die DialogLinks in der Hilfe klicken.
Gruss
Urba
Popov - Sa 28.02.04 06:00
Ich hab
hier [
http://www.delphiforum.de/viewtopic.php?p=132688] ein Tipp geschrieben mit dem man in einem MessageDlg Fenster ein eigenen Button haben kann. Dazu muß allerdings ein eingenes Meldungsfenster entwickelt werden.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| function MyMessageDlg(const Msg: String; AType: TMsgDlgType; AButtons: TMsgDlgButtons; HelpCtx: Longint): Word; var Comp: TComponent; k: Integer; begin with CreateMessageDialog(Msg, AType, AButtons) do begin for k := 0 to ComponentCount - 1 do begin Comp := Components[k]; if Comp is TButton then with TButton(Comp) do begin if UpperCase(Name) = 'IGNORE' then Caption := '&Details'; end; end; Result := ShowModal; end; end; |
Hier wird der Button
Ignorieren angepasst. Wenn du den brauchst, dann kannst du einen anderen dafür nehmen. Abfragen mußt du allerdings weiterhin den Ignore Button.
Hier ein Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TO<span class="inlineSyntax"></span>bject); begin if MyMessageDlg('Das ist die Message.', mtInformation, [mbOk, mbIgnore], 0) = mrIgnore then ShowMessage('Es wurde der Button "Deteils" geklickt. Tatsächlich ist ' + 'aber der Button "Ignorieren", nur mit anderen Caption-Bezeichnung.'); end; |
M@gindosch - Sa 28.02.04 10:40
Dankeschön für diese ausführliche Antwort. Werds gleich mal versuchen!
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!