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
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"
把
?
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 ='錯誤';
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子目錄下,就一勞永逸啦!