DELPHI中MessageBox的用法
MessageBox对话框 输入控件的 ImeName属性把输入法去掉就默认为英文输入了
MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容、信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对框。
1、函数原型及参数
function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;
hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。
Text:欲显示的信息字符串。
Caption:对话框标题字符串。
Type:对话框类型常量。
该函数的返回值为整数,用于对话框按钮的识别。
引数:
1.Text:要显示的信息
2.Caption:信息窗口的标题文字
3.Flags:窗体标志(说明是何种类型的信息窗体)
3.1.可指定信息窗体上的图标
3.2.可指定信息窗体上出现的按钮
3.3.可指定预设Focus在哪一个按钮上
3.4.可指定是否Modal
3.5.其他
2、类型常量
对话框的类型常量可由按钮组合、缺省按钮、显示图标、运行模式四种常量组合而成。
(1)按钮组合常量
MB_OK = $00000000; //一个确定按钮
MB_OKCANCEL = $00000001; //一个确定按钮,一个取消按钮
MB_ABORTRETRYIGNORE = $00000002; //一个异常终止按钮,一个重试按钮,一个忽略按钮
MB_YESNOCANCEL = $00000003; //一个是按钮,一个否按钮,一个取消按钮
MB_YESNO = $00000004; //一个是按钮,一个否按钮
MB_RETRYCANCEL = $00000005; //一个重试按钮,一个取消按钮
(2)缺省按钮常量
MB_DEFBUTTON1 = $00000000; //第一个按钮为缺省按钮
MB_DEFBUTTON2 = $00000100; //第二个按钮为缺省按钮
MB_DEFBUTTON3 = $00000200; //第三个按钮为缺省按钮
MB_DEFBUTTON4 = $00000300; //第四个按钮为缺省按钮
(3)图标常量
MB_ICONHAND = $00000010; //“×”号图标
MB_ICONQUESTION = $00000020; //“?”号图标
MB_ICONEXCLAMATION = $00000030; //“!”号图标
MB_ICONASTERISK = $00000040; //“i”图标
MB_USERICON = $00000080; //用户图标
MB_ICONWARNING = MB_ICONEXCLAMATION; //“!”号图标
MB_IConERROR = MB_ICONHAND; //“×”号图标
MB_ICONINFORMATION = MB_ICONASTERISK; //“i”图标
MB_ICONSTOP = MB_ICONHAND; //“×”号图标
(4)运行模式常量
MB_APPLMODAL = $00000000; //应用程序模式,在未结束对话框前也能切换到另一应用程序
MB_SYSTEMMODAL = $00001000; //系统模式,必须结束对话框后,才能做其他操作
MB_TASKMODAL = $00002000; //任务模式,在未结束对话框前也能切换到另一应用程序
MB_HELP = $00004000; //Help Button
指定下列标志中的一个来显示对话框的形态:标志的含义如下:
MB_APPLMODAL:在hwnd参数标识的窗口中继续工作以前,用户一定响应消息框。但 是,用户可以移动到其他线程的窗口且在这些窗口中工作。根据应用程序中窗口的层次机构,用户则以移动到线程内的其他窗口。所有母消息框的子窗口自动地失 效,但是弹出窗口不是这样。如果既没有指定
MB_SYSTEMMODAL也没有指定MB_TASKMOOAL,则MB_APPLMODAL为缺省的。
MB_SYSTEMMODAL:除了消息框有WB_EX_TOPMOST类 型,MB_APPLMODAL和WS_EX_TOPMOST一样。用系统模态消息框来改变各种各样的用户,主要的损坏错误需要立即注意(例如,内存溢 出)。如果不是那些与hwnd联系的窗口,此标志对用户对窗口的相互联系没有影响。
MB_TASKMODAL:如果参数hwnd为NULL,除了所有属于当前线程高层次的窗口足 失效的,MB_TASKMODALL和MB_ApPLMODAL一样。当调用应用程序或库没有一个可以得到的窗口句柄时,使用此标志。但仍需要阻止到调用 应用程序甲其他窗口的输入而不是搁置其他线程。
另外,可以指定下列标志。
对于task而言,是modalform
一般来说,这跟MB_APPLMODAL是等效的,但是当应用程式中的所有
form都隐藏的时候,就必须使用这个,才能达到modal的目的
MB_DEFAULT_DESKTOP_ONLy:接收输入的当前桌面一定是一个缺省桌面。否则,函数调用失败。缺省桌面是一个在用户已经纪录且以后应用程序在此上面运行的桌面。
MB_HELP:把一个Help按钮增加到消息框。选择Help按钮或按F1产生一个Help事件。
MB_RIGHT:将讯息文字向右对齐,文本为右调整。
MB_RTLREADING:用在Hebrew和Arabic系统中从右到左的顺序显示消息和大写文本。
MB_SETFOREGROUND:消息框变为前景窗口。在内部系统为消息个调用SetForegrundWindow函数。
MB_TOPMOSI:将讯息视窗提至最前面,消息框用WS_EX_TOPMOST窗口类型来创建MB_SERVICE_NOTIFICATION。
3、函数返回值
0 //对话框建立失败
idOk = 1 //按确定按钮
idCancel = 2 //按取消按钮
idAbout = 3 //按异常终止按钮
idRetry = 4 //按重试按钮
idIgnore = 5 //按忽略按钮
idYes = 6 //按是按钮
idNo = 7 //按否按钮
例子:messagebox(0,'没有选择播放类型','错误',MB_ICONEXCLAMATION );
--Application.MessageBox('MessageBox','警告',MB_ICONWARNING+MB_YesNo);
--MessageBox(Form1.Handle,'MessageBox','提示',MB_ICONINFORMATION+MB_OkCancel);
--MessageBox(Form1.Handle,'MessageBox','提示‘,MB_ICONINFORMATION+MB_OkCancel+MB_DEFBUTTON2);
-- if MessageBox(Form1.Handle,'MessageBox','提示',MB_ICONINFORMATION+MB_OkCancel)= idOk then
begin
ShowMessage('Ok');
end;
- 如果想判断用户选择了那个按钮可以这样
- var
- x:integer;
- begin
- x:=MessageBox(0,'你确定此操作吗?','询问',MB_OKCANCEL);
- end;
- 判断时可以是if x=1 then ..或if x=idok then...
DELPHI中MessageBox的用法的更多相关文章
- DELPHI中MessageBox的用法 (转)
MessageBox对话框 输入控件的 ImeName属性把输入法去掉就默认为英文输入了 MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容.信息提示图标,而且可以 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- 转delphi中nil的用法
转自:http://blog.csdn.net/haiou327/article/details/6666124 delphi中nil的用法 和C++中的NULL一样的意思,指空值,它和0值不一样-- ...
- Delphi中ClientDataSet的用法小结
Delphi中ClientDataSet的用法小结 TClientDataSet控件继承自TDataSet,其数据存储文件格式扩展名为 .cds,是基于文件型数据存储和操作的控件.该控件封装了对数据进 ...
- Delphi中MessageBox用法
消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合. 1.最简单用法,不带图形 MessageBox(0,'不同意','提示',MB_OK); MessageBo ...
- delphi中webbrowser的用法
WebBrowser1.GoHome; //到浏览器默认主页 WebBrowser1.Refresh; //刷新 WebBrowser1.GoBack; //后退 WebBrowser1.GoForw ...
- Delphi 中 paramstr 的用法及参数意义
原型 function paramstr(i:index):string 对于任何application paramstr(0)都默认代表的是应用程序的绝对路径.那 ...
- Delphi中paramstr的用法
原型 function paramstr(i:index):string 对于任何application paramstr(0)都默认代表的是应用程序的 ...
- Delphi 中 断言 Assert 用法
procedure Assert(expr : Boolean [; const msg: string]); 用法: Assert(表达式,[显示信息]); 如果为假, assert会产生一个E ...
随机推荐
- Android系统权限及签名
Android系统权限及签名 2015-03-23 19:13:33CSDN-chen52671-点击数:50 Android权限及签名 引子 现象:系统中的一个定制Service,服务是 ...
- CentOS 安装Chrome
yum install http://people.centos.org/hughesjr/chromium/6/x86_64/RPMS/chromium-31.0.1650.63-2.el6.x86 ...
- 深入理解setTimeout和setinterval
以前一直以为这两个函数就是简单了认为类似thread一样的东西, 认为会在一个时间片内, 并发的执行调用的函数, 似乎很好很强大, 但其实并不是如此, 实际的情况是javascript都是以单线程的方 ...
- apache2.2+tomcat配置[转]
Apache和Tomcat同是Apache基金会下面的两个项目. 一个是HTTP WEB服务器,另一个是servlet容器(servlet container),最新的5.5.X系列实现Servlet ...
- PL\SQL学习笔记
注释 单行--多行 一.declare一般用于做变量的申明.begin 程序体开始执行 end; 程序体结束exception .. dbms_output.put_line('绝对值'||v_ab ...
- Selenium IDE安装
1. 网上下载firefox30版本 http://www.9ht.com/xz/78637.html#addressWrap Selenium IDE 2.9.0下载 http://www.pc ...
- word加载项打包发布注意事项总结
最近在做一个word加载项,发布的时候还是有很多坑的现在总结一下:发布工具为Advanced Installer 11.0 网盘地址:http://pan.baidu.com/s/1i4GK3g5 1 ...
- ubuntu下mysql 开启远程连接
一.修改配置文件: vim /etc/mysql/my.cnf,找到 bind-address = 127.0.0.1 注释掉这行,如: #bind-address = 127.0.0.1 或者改为: ...
- 一个简单易懂的javascrip selection&range小案例
在制作富文本编辑器,尤其是在制作以div元素为编辑器区域时,当鼠标离开编辑区域以后会失去焦点,失去选区,这时候就要通过selection&range来重新设置选区.[以下代码尚未考虑IE低版本 ...
- Lua学习系列(四)
lua 资源:http://www.dcc.ufrj.br/~fabiom/lua/ 第一个Lua程序 http://www.dcc.ufrj.br/~fabiom/lua/ 原文:https://w ...