利钧 發表於 2020-9-12 22:09:00

Delphi中Messagedlg的用法与汉化

<p>messageDlg,&nbsp;是在对话框显示消息,并等待用户点击一个按钮,然后返回一个整数确定知道是那个按钮.<br>原型:MessageDlg(const&nbsp;Msg:&nbsp;string;&nbsp;DlgType:&nbsp;TMsgDlgType;Buttons:&nbsp;TMsgDlgButtons;&nbsp;HelpCtx:&nbsp;Longint):&nbsp;Integer<br><br>Msg:想要提示的文字<br>DlgType:对话框的类型<br>Buttons:对话框中的按钮<br>HelpCtx:定义对话框的帮助屏幕,使用HelpCtx参数可以指定当用户单击Help按钮或按F1键所弹出的帮助主题的帮助上下文ID,一般也用不上,用0,表示帮助主题为空。<br><br>对话框类型:<br>mtwarning——含有感叹号的警告对话框<br>mterror——含有红色叉符号的错误对话框<br>mtinformation——含有蓝色i符号的信息对话框<br>mtconfirmation——含有绿色问号的确认对话框<br>mtcustom——不含图标的一般对话框,对话框的标题是程序的名称<br><br>&nbsp;按钮组中的按钮:<br>mbYes——mrYes或6<br>mbNo——mrNo或7<br>mbOk——mrOk或1<br>mbCancel——mrCancel或2<br>mbHelp——help按钮<br>mbAbort——mrAbort或3<br>mbRetry——mrRetry或4<br>mbIgnore——mrIgnore或5<br>mbAll——mrAll或8<br>mbNoToAll——9<br>mbYesToAll——10<br><br>举例:<br>procedure&nbsp;TForm1.Button1Click(Sender:&nbsp;TObject);<br>begin<br>Messagedlg('你确定吗',mtWarning,,0);<br>MessageDlg('错误(1001)',mtError,,0);<br>end;<br><br><br>&nbsp;MessageDlg()信息的汉化<br><br>Delphi中的常量都放在consts.pas中,修改它可以达到汉化的目的.如:<br>MessageDlg()显示的窗口标题及其中的<br>按钮标题都是英文,虽然不影响使用,但在一个中文软件中总显得有些不协调.<br>为此在consts.pas中查找以下内容:<br>"SMsgDlgWarning"<br>把<br>SMsgDlgWarning&nbsp;=&nbsp;'Warning';<br>SMsgDlgError&nbsp;=&nbsp;'Error';<br>SMsgDlgInformation&nbsp;=&nbsp;'Information';<br>SMsgDlgConfirm&nbsp;=&nbsp;'Confirm';<br>SMsgDlgYes&nbsp;=&nbsp;'&amp;Yes';<br>SMsgDlgNo&nbsp;=&nbsp;'&amp;No';<br>SMsgDlgOK&nbsp;=&nbsp;'OK';<br>SMsgDlgCancel&nbsp;=&nbsp;'Cancel';<br>SMsgDlgHelp&nbsp;=&nbsp;'&amp;Help';<br>SMsgDlgHelpNone&nbsp;=&nbsp;'No&nbsp;help&nbsp;available';<br>SMsgDlgHelpHelp&nbsp;=&nbsp;'Help';<br>SMsgDlgAbort&nbsp;=&nbsp;'&amp;Abort';<br>SMsgDlgRetry&nbsp;=&nbsp;'&amp;Retry';<br>SMsgDlgIgnore&nbsp;=&nbsp;'&amp;Ignore';<br>SMsgDlgAll&nbsp;=&nbsp;'&amp;All';<br>SMsgDlgNoToAll&nbsp;=&nbsp;'N&amp;o&nbsp;to&nbsp;All';<br>SMsgDlgYesToAll&nbsp;=&nbsp;'Yes&nbsp;to&nbsp;&amp;All';<br>改成<br>SMsgDlgWarning&nbsp;=&nbsp;'警告';<br>SMsgDlgError&nbsp;=&nbsp;'错误';<br>SMsgDlgInformation&nbsp;=&nbsp;'提示';<br>SMsgDlgConfirm&nbsp;=&nbsp;'确认';<br>SMsgDlgYes&nbsp;=&nbsp;'是(&amp;Y)';<br>SMsgDlgNo&nbsp;=&nbsp;'不(&amp;N)';<br>SMsgDlgOK&nbsp;=&nbsp;'确定';<br>SMsgDlgCancel&nbsp;=&nbsp;'取消';<br>SMsgDlgHelp&nbsp;=&nbsp;'帮助(&amp;H)';<br>SMsgDlgHelpNone&nbsp;=&nbsp;'没有该帮助信息';<br>SMsgDlgHelpHelp&nbsp;=&nbsp;'帮助';<br>SMsgDlgAbort&nbsp;=&nbsp;'放弃(&amp;A)';<br>SMsgDlgRetry&nbsp;=&nbsp;'重试(&amp;R)';<br>SMsgDlgIgnore&nbsp;=&nbsp;'忽略(&amp;I)';<br>SMsgDlgAll&nbsp;=&nbsp;'全部(&amp;A)';<br>SMsgDlgNoToAll&nbsp;=&nbsp;'全都不(&amp;O)';<br>SMsgDlgYesToAll&nbsp;=&nbsp;'全都是(&amp;A)';<br>然后重新编译Consts.pas,把Consts.duc<br>拷到delphi的lib和slib子目录下,就一劳永逸啦!&nbsp;&nbsp;</p><br><br>
来源:https://www.cnblogs.com/Thenext/p/13658924.html
頁: [1]
查看完整版本: Delphi中Messagedlg的用法与汉化