Mega Code Archive

 
Categories / Delphi / Forms
 

Change the Button Captions in MessageDlg

Title: change the Button Captions in MessageDlg? function MyMessageDialog(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; Captions: array of string): Integer; var aMsgDlg: TForm; i: Integer; dlgButton: TButton; CaptionIndex: Integer; begin { Create the Dialog } { Dialog erzeugen } aMsgDlg := CreateMessageDialog(Msg, DlgType, Buttons); captionIndex := 0; { Loop through Objects in Dialog } { Über alle Objekte auf dem Dialog iterieren} for i := 0 to aMsgDlg.ComponentCount - 1 do begin { If the object is of type TButton, then } { Wenn es ein Button ist, dann...} if (aMsgDlg.Components[i] is TButton) then begin dlgButton := TButton(aMsgDlg.Components[i]); if CaptionIndex High(Captions) then Break; { Give a new caption from our Captions array} { Schreibe Beschriftung entsprechend Captions array} dlgButton.Caption := Captions[CaptionIndex]; Inc(CaptionIndex); end; end; Result := aMsgDlg.ShowModal; end; procedure TForm1.Button1Click(Sender: TObject); begin if MyMessageDialog('How much...?', mtConfirmation, mbOKCancel, ['1', '2']) = mrOk then ShowMessage('"1" clicked') else ShowMessage('"2" clicked'); end;