本文整理自网络,侵删。
unit Unit2;
interface
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type TForm2 = class(TForm) Memo1: TMemo; Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form2: TForm2;
implementation
{$R *.dfm}
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 } aMsgDlg := CreateMessageDialog(Msg, DlgType, Buttons); captionIndex := 0; { Loop through Objects in Dialog } for i := 0 to aMsgDlg.ComponentCount - 1 do begin { If the object is of type TButton, then } 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} dlgButton.Caption := Captions[CaptionIndex]; Inc(CaptionIndex); end; end; Result := aMsgDlg.ShowModal;end;
procedure TForm2.Button1Click(Sender: TObject);
begin if MyMessageDialog('How much...?', mtConfirmation, mbOKCancel, ['1', '2']) = mrOk then ShowMessage('"1" clicked') else ShowMessage('"2" clicked');end;
end.
相关阅读 >>
Delphi createthread的线程传参数(小熊论坛的)
更多相关阅读请进入《Delphi》频道 >>