【求助】怎样使Delphi2007生成的对话框按钮显示中文?

来源:百度知道 编辑:UC知道 时间:2024/09/20 10:36:42
Delphi2007的InputBox之类对话框,其窗口标题、提示信息和默认输入值都可以使用汉字字符串,惟独它上面的两个按钮“OK”“Cancle”不能让用户进行自行设置。求高手指教,如何把这些对话框的按钮修改成中文的啊?
太麻烦您了!谢谢!我说的0507实际上是05版和07版,说的不详细不好意思了~刚才找您的方法看了一下,我的source目录里并没有您说的文件夹啊?只有database和dUnit两个。这是怎么回事呢?麻烦您了!最后悬赏分一定给您!

可以通过修改VCL的源代码的方法来实现。
这个方法比较简单,
但是重装Delphi或换另外的机器后要注意。

另外就是尽量用MessageBox 而不是 MessageDlg,
至于InputBox,个人觉得功能太过简单,
不如自己重做一个窗体更加方便。

---------------------------------------
[2008-7-17 修改]
我不知道0507版是那个,我现在测试用的delphi2007版本号为:Version 11.0.2902.10471

简单说下吧,我的步骤(自己测试过):
1. 新建一个工程,保存到一个目录如d:\delphiprj\hh,
把unit1.pas 从工程里面remove掉。
2. 从delphi2007安装目录\SOURCE\win32\VCL里面找到Consts.pas复制到本工程目录(我这里为D:\delphiprj\hh),
打开Consts.pas,把英文常量修改为中文后保存,
我这里是在123行的这个地方,你可以搜索以下,修改如下:
SMsgDlgOK = '确定';
SMsgDlgCancel = '取消';
其他地方按需要修改,另外还有一些其他的常量文件如dbconsts.pas等,根据自己的需要修改。
保存工程后编译此工程。
3. 可以看到目录下有了consts.dcu,复制到Delphi2007安装目录\Lib目录下,替换掉原来的即可。
做之前最好先做好相关备份。

4。打开你的工程再重新编译,inputbox的按钮应该就是中文的了。

这是我自己测试的过程,网上搜以下还有其他更好的办法的。

以上文字都是自己打的,手指受伤情况下,好累。

----------------------------------------------
[2007-7-21]