Autor Beitrag
Klaus D.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 63



BeitragVerfasst: So 05.10.03 17:51 
Hey

Ist es irgendwie möglich den Text der z.Bsp.im MessageDlg zur Auswahl stehenden Buttons zu ändern ?

Danke und Tschüß Klaus

Moderiert von user profile iconTino: Titel geändert.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 06.10.03 10:32 
Hallo,

du müsstest wahrscheinlich den Dialog mit hilfe von CreateMessageDialog erstellen lassen. Durch diese Funktion bekommst du ein TForm Objekt. Dieses Objekt verfügt über die Funktion Suche in: Delphi-Forum, Delphi-Library FINDCOMPONENT. Diese Funktion bekommt als Parameter den Namen der zufindenden Komponente. Hier die entsprechenden Namen:
ausblenden Delphi-Quelltext
1:
2:
3:
  ButtonNames: array[TMsgDlgBtn] of string = (
    'Yes''No''OK''Cancel''Abort''Retry''Ignore''All''NoToAll',
    'YesToAll''Help');

Wenn du den Button mit FindComponent gefunden hast kannst du die Caption Eigenschaft überschreiben und dann erst die MessageBox anzeigen.

Gruß
Tino
Klaus D. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 63



BeitragVerfasst: Di 07.10.03 19:49 
Hallo Tino

Ich bekomme es leider nicht gebacken über den Namen auf die Caption der Buttons zuzugreifen. Ich würde mich über ein wenig mehr Text sehr freuen.

Meine Versuche:
ausblenden Delphi-Quelltext
1:
2:
3:
CreateMessageDialog('Text', mtInformation, mbYesNoCancel);
FindComponent(ButtonNames[mbYes]);
.......?

Danke und Tschö Klaus
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Di 07.10.03 20:01 
Mal ein Beispiel. Mit Hilfe der Funktion CreateMessageDialog bekommst du eine TForm Objekt zurück:
ausblenden Delphi-Quelltext
1:
2:
3:
Var
  Form: tForm;
  Button: tComponent;


ausblenden Delphi-Quelltext
1:
Form := CreateMessageDialog ('Text', mtInformation, mbYesNoCancel);					

Jetzt kannst du mit der Methode FindComponent auf die Buttons zurgreifen:
ausblenden Delphi-Quelltext
1:
Button := Form.FindComponent ('Yes');					

Bevor du jetzt auf den Button zugreifst solltest du Prüfen ob die Variable auch nicht nil und ein TButton ist:
ausblenden Delphi-Quelltext
1:
If Assigned (Button) and (Button is tButton) Then					

dann kannst du mit einen Typecast auf den Button zugreifen:
ausblenden Delphi-Quelltext
1:
tButton (Button).Caption := 'Hallo';					

Ich hoffe das hat dir jetzt geholfen. Keine Garantie ob das so funktioniert... habs nicht getestet.

Gruß
Tino