MessageBox和MessageDlg(33分)

  • 主题发起人 主题发起人 千中元
  • 开始时间 开始时间
<br>case MessageBox(Handle,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'Information You Want here',<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'Title',<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MB_ICONQUESTION+MB_MB_YESNOCANCEL+MB_DEFBUTTONx) of<br>&nbsp;ID_YES &nbsp; : ; // ‘是’<br>&nbsp;ID_NO &nbsp; &nbsp;: ; // ‘否’<br>&nbsp;ID_CANCEL: ; // ‘取消’<br>&nbsp;else // !没见过此情况<br>end;
 
嘿嘿,Kang不要的那一分就给我吧
 
ShowMessage是不好的,至少在我们公司的R&amp;D部门是不允许使用的。因为<br>ShowMessage虽然用起来方便,但它不是封装的Windows API,所以,在不同<br>语言的Windows上ShowMessage的确定按钮总是显示“OK”,而不能根据语言<br>的不同自动变化。MessageBox就很好,在英文Windows中显示的是“OK”,在<br>中文是“确认”,在法文是“OUI”。<br><br>看看专业软件的信息提示对话框吧,没有使用ShowMessage的。虽然这是一个<br>小区别,但可以从这一点看出一个产品的研发人员的精益求精的态度。
 
1.可以更改第四个参数,具体的看MSDN;<br>2.CASE MESSAGEBOX(....)OF<br>&nbsp; ID_YES:...;<br>&nbsp; ID_NO:...;<br>&nbsp; .<br>&nbsp; .<br>&nbsp; .<br>&nbsp; END;<br>另外:MESSAGEBOX 是WINDOW标准的对话框,不需要VCL,而且可以显示中文,建议使用,<br>&nbsp; &nbsp; &nbsp;MESSAGEDLG 是DELPHI的对话框,需VCL,需自己汉化.
 
获益非钱啊
 
不问不知道,一问真奇妙^_^
 
使用<br>1.messagebox(handle,'no thread',nil,MB_OKCANCEL);<br>&nbsp; 你已经让标题不nil.<br>&nbsp; 在delphi中是没有方法让窗口标题改变了。<br>&nbsp; messagebox是windows处理的.<br>&nbsp; 其"错误"是windows给出的。<br>&nbsp; 要改就改windows了。<br>2.Messagedlg中<br>&nbsp; s := Messagedlg('ss',mtCustom,<br>&nbsp; &nbsp; &nbsp; &nbsp; [mbYes, mbNo, mbOK, mbCancel, &nbsp;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mbAbort, mbRetry, mbIgnore,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mbAll, mbNoToAll, mbYesToAll, mbHelp], 0);<br><br>case s of<br>&nbsp; &nbsp; 1 : &nbsp;showmessage('OK按钮');<br>&nbsp; &nbsp; 2 : &nbsp;showmessage('Cancel按钮');<br>// &nbsp; &nbsp;以下对应按钮<br>&nbsp; &nbsp; 3 : &nbsp;'abort';<br>&nbsp; &nbsp; 4 : &nbsp;'Retry';<br>&nbsp; &nbsp; 5 : &nbsp;'Ignore';<br>&nbsp; &nbsp; 6 : &nbsp;'Yes';<br>&nbsp; &nbsp; 7 : &nbsp;'No';<br>&nbsp; &nbsp; 8 : &nbsp;'All';<br>&nbsp; &nbsp; 9 : &nbsp;'NoToAll';<br>&nbsp; &nbsp; 10 : &nbsp;'YesToAll';<br>end;
 
时间太久,强制结束。 &nbsp; &nbsp; wjiachun
 
后退
顶部