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子目录下,就一劳永逸啦!
本文来自博客园,作者:del88,转载请注明原文链接:https://www.cnblogs.com/del88/archive/2013/01/15/2862010.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人