if MessageDlg('Welcome to my Delphi application. Exit now?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
Close;
end;
MessageDlg用法
对话框类型:
mtwarning——含有感叹号的警告对话框
mterror——含有红色叉符号的错误对话框
mtinformation——含有蓝色i符号的信息对话框
mtconfirmation——含有绿色问号的确认对话框
mtcustom——不含图标的一般对话框,对话框的标题是程序的名称
按钮组中的按钮:
mbYes——mrYes或6
mbNo——mrNo或7
mbOk——mrOk或1
mbCancel——mrCancel或2
mbHelp——help按钮
mbAbort——mrAbort或3
mbRetry——mrRetry或4
mbIgnore——mrIgnore或5
mbAll——mrAll或8
mbNoToAll——9
mbYesToAll——10
procedure
TForm1.Button1Click(Sender: TObject);
var
S: string ;
begin
if MessageDlg( ' 提示框 ' ,mtInformation,[mbok,mbyes], 0 ) = mryes then
messagebeep(MB_ICONEXCLAMATION);
end ;
TMsgDlgType = (mtWarning, mtError, mtInformation, mtConfirmation, mtCustom);
TMsgDlgBtn = (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore,
mbAll, mbNoToAll, mbYesToAll, mbHelp);
const
mrNone = 0 ;
mrOk = idOk;
mrCancel = idCancel;
mrAbort = idAbort;
mrRetry = idRetry;
mrIgnore = idIgnore;
mrYes = idYes;
mrNo = idNo;
mrAll = mrNo + 1 ;
mrNoToAll = mrAll + 1 ;
mrYesToAll = mrNoToAll + 1 ;
var
S: string ;
begin
if MessageDlg( ' 提示框 ' ,mtInformation,[mbok,mbyes], 0 ) = mryes then
messagebeep(MB_ICONEXCLAMATION);
end ;
TMsgDlgType = (mtWarning, mtError, mtInformation, mtConfirmation, mtCustom);
TMsgDlgBtn = (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore,
mbAll, mbNoToAll, mbYesToAll, mbHelp);
const
mrNone = 0 ;
mrOk = idOk;
mrCancel = idCancel;
mrAbort = idAbort;
mrRetry = idRetry;
mrIgnore = idIgnore;
mrYes = idYes;
mrNo = idNo;
mrAll = mrNo + 1 ;
mrNoToAll = mrAll + 1 ;
mrYesToAll = mrNoToAll + 1 ;
MessageDlg()信息的汉化
Delphi中的常量都放在consts.pas中,修改它可以达到汉化的目的.如:
MessageDlg()显示的窗口标题及其中的
按钮标题都是英文,虽然不影响使用,但在一个中文软件中总显得有些不协调.
为此在consts.pas中查找以下内容:
"SMsgDlgWarning"
把
SMsgDlgWarning
=
'
Warning
'
;
SMsgDlgError = ' Error ' ;
SMsgDlgInformation = ' Information ' ;
SMsgDlgConfirm = ' Confirm ' ;
SMsgDlgYes = ' &Yes ' ;
SMsgDlgNo = ' &No ' ;
SMsgDlgOK = ' OK ' ;
SMsgDlgCancel = ' Cancel ' ;
SMsgDlgHelp = ' &Help ' ;
SMsgDlgHelpNone = ' No help available ' ;
SMsgDlgHelpHelp = ' Help ' ;
SMsgDlgAbort = ' &Abort ' ;
SMsgDlgRetry = ' &Retry ' ;
SMsgDlgIgnore = ' &Ignore ' ;
SMsgDlgAll = ' &All ' ;
SMsgDlgNoToAll = ' N&o to All ' ;
SMsgDlgYesToAll = ' Yes to &All ' ;
SMsgDlgError = ' Error ' ;
SMsgDlgInformation = ' Information ' ;
SMsgDlgConfirm = ' Confirm ' ;
SMsgDlgYes = ' &Yes ' ;
SMsgDlgNo = ' &No ' ;
SMsgDlgOK = ' OK ' ;
SMsgDlgCancel = ' Cancel ' ;
SMsgDlgHelp = ' &Help ' ;
SMsgDlgHelpNone = ' No help available ' ;
SMsgDlgHelpHelp = ' Help ' ;
SMsgDlgAbort = ' &Abort ' ;
SMsgDlgRetry = ' &Retry ' ;
SMsgDlgIgnore = ' &Ignore ' ;
SMsgDlgAll = ' &All ' ;
SMsgDlgNoToAll = ' N&o to All ' ;
SMsgDlgYesToAll = ' Yes to &All ' ;
改成
SMsgDlgWarning
=
'
警告
'
;
SMsgDlgError = ' 错误 ' ;
SMsgDlgInformation = ' 提示 ' ;
SMsgDlgConfirm = ' 确认 ' ;
SMsgDlgYes = ' 是(&Y) ' ;
SMsgDlgNo = ' 不(&N) ' ;
SMsgDlgOK = ' 确定 ' ;
SMsgDlgCancel = ' 取消 ' ;
SMsgDlgHelp = ' 帮助(&H) ' ;
SMsgDlgHelpNone = ' 没有该帮助信息 ' ;
SMsgDlgHelpHelp = ' 帮助 ' ;
SMsgDlgAbort = ' 放弃(&A) ' ;
SMsgDlgRetry = ' 重试(&R) ' ;
SMsgDlgIgnore = ' 忽略(&I) ' ;
SMsgDlgAll = ' 全部(&A) ' ;
SMsgDlgNoToAll = ' 全都不(&O) ' ;
SMsgDlgYesToAll = ' 全都是(&A) ' ;
SMsgDlgError = ' 错误 ' ;
SMsgDlgInformation = ' 提示 ' ;
SMsgDlgConfirm = ' 确认 ' ;
SMsgDlgYes = ' 是(&Y) ' ;
SMsgDlgNo = ' 不(&N) ' ;
SMsgDlgOK = ' 确定 ' ;
SMsgDlgCancel = ' 取消 ' ;
SMsgDlgHelp = ' 帮助(&H) ' ;
SMsgDlgHelpNone = ' 没有该帮助信息 ' ;
SMsgDlgHelpHelp = ' 帮助 ' ;
SMsgDlgAbort = ' 放弃(&A) ' ;
SMsgDlgRetry = ' 重试(&R) ' ;
SMsgDlgIgnore = ' 忽略(&I) ' ;
SMsgDlgAll = ' 全部(&A) ' ;
SMsgDlgNoToAll = ' 全都不(&O) ' ;
SMsgDlgYesToAll = ' 全都是(&A) ' ;
然后重新编译Consts.pas,把Consts.duc
拷到delphi的lib和slib子目录下,就一劳永逸啦!