messagedlg()返回中文提示(20分)

  • 主题发起人 主题发起人 milesmaqi
  • 开始时间 开始时间
M

milesmaqi

Unregistered / Unconfirmed
GUEST, unregistred user!

众所周知:messagedlg('Are you Ready?',mtconfirmation,mbyesnocancel,0);
将返回一个消息对话框,有Yes,No,Cancel,三个BUTTON, 但是由于BUTTON的提示是
英文的,现在的问题是如何把它们转变成中文提示呢?即把Yes转换为是,No转换为否,
Cancel转换为取消。
感谢大家最高者可以得100分, 我的QQ是26163947;
 
那需要去改它的单元,麻烦得很,最好是改用
if Application.messagebox('Are you Ready?','提示',mb_YesNoCancel+mb_iconQuestion)=idYes then
//也可=idno,idCancel
按钮全是中文的,你可自己参看messagebox的帮助。

 
只有更改VCL源代码了:
/program files/borland/delphi6/source/vcl/Consts.pas
 
同意HunterTeam的
以前也遇到这个问题,解决的办法就是不用messagedlg
改用messagebox。
messagebox(handle,'提示信息的内容','提示信息的标题',MB_INFORMATION OR MB_OK);
 
sorry,写错啦
因该是:
messagebox(handle,'提示信息的内容','提示信息的标题',MB_ICONINFORMATION OR MB_OK);
 
同意二楼,除此之外,你还可以设定缺省按钮、对话框模式等信息,如:
if Application.messagebox('Are you Ready?','提示',mb_YesNoCancel+mb_iconQuestion+mb_defbutton1+mb_systenmodal)=idYes
 
省点分吧!
 
1.在Delphi环境下打开VCL目录下的BdeConst.pas,Consts.pas,BdeConst.pas,DbConsts.pas
,midconst.pas,mxConsts.pas,OleConst.pas,WebConst.pas等单元文件,这些单元文件定
义了Delphi用到的常量;
2.把Delphi自己定义的字符串常量"翻译"成我们伟大的母语--汉语;
3.运行Windows注册表编辑程序Regedit.exe,打开
HKEY_CURRENT_USER->Software->Borland->Delphi->6.0->Library,在其中一为
"Searchpath"的串值中加入"$(DELPHI)/Source/VCL".Ok,目的达到!

摘自 梁明<"Delphi之完全汉语"终结版>
 
多人接受答案了。
 
后退
顶部