MessageBox函数第一个参数hwnd的作用
MessageBox 函数用于创建、显示并操作一个消息对话框。该对话框包含由调用程序定义的信息和标题,以及预先定义的图标和按钮。
这个方法的第一个参数hWnd,代表消息框拥有的窗口。这个参数到底有什么作用呢?做了一个例子,刚好测试到这一点。
假如hwnd句柄指向的窗口是置顶展示的。
1、参数不为NULL
MessageBox(hwnd,"123","Win32_Mouse",MB_OK);
弹出消息框继承了置顶展示的效果。原窗口中的所有按钮都不可点击,也不能拖动,只能先结束当前的消息框才能操作原来的窗口。

2、参数为NULL
MessageBox(NULL,"ABC","Win32_Mouse",MB_OK);
弹出的消息框没有拥有的窗口,没有置顶展示的效果了,会被原来的窗口给遮盖住一部分。原窗口可以进行所有的操作。

参数说明
hWnd:
指定该对话框的所有者窗口。如果该参数为空(0),则该对话框不属于任何窗口(?)。
lpText:
显示在对话框中的消息。
lpCaption:
在对话框标题栏中显示的字符串表达式。如果该参数为空(vbNullString),则使用默认的“错误”作为对话框的标题。
wType:
指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。可以为下列常数之一或某几个数值相加的和。
指定按钮样式:
MB_ABORTRETRYIGNORE —— 显示 Abort、Retry 及 Ignore 按钮。
MB_OK —— 只显示 OK 按钮。(默认)
MB_OKCANCEL —— 显示 OK 及 Cancel 按钮。
MB_RETRYCANCEL —— 显示 Retry 及 Cancel 按钮。
MB_YESNO —— 显示 Yes 及 No 按钮。
MB_YESNOCANCEL —— 显示 Yes、No 及 Cancel 按钮。
指定图标样式:
MB_ICONEXCLAMATION, MB_ICONWARNING —— 显示 Warning Message 图标。
MB_ICONINFORMATION, MB_ICONASTERISK —— 显示 Information Message 图标。
MB_ICONQUESTION —— 显示 Warning Query 图标。
MB_ICONSTOP, MB_ICONERROR, MB_ICONHAND—— 显示 Critical Message 图标。
指定默认按钮:
MB_DEFBUTTON1 —— 第一个按钮是缺省值。(默认)
MB_DEFBUTTON2 —— 第二个按钮是缺省值。
MB_DEFBUTTON3 —— 第三个按钮是缺省值。
MB_DEFBUTTON4 —— 第四个按钮是缺省值。
指定对话框模式等:
MB_APPLMODAL —— 应用程序强制返回;应用程序一直被挂起,直到用户对消息框作出响应才继续工作。
MB_SYSTEMMODAL —— 系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作。
MB_TASKMODAL
MB_DEFAULT_DESKTOP_ONLY
MB_HELP —— 将Help按钮添加到消息框。
MB_RIGHT —— 文本为右对齐。
MB_RTLREADING —— 指定文本应为在希伯来和阿拉伯语系统中的从右到左显示。
MB_SETFOREGROUND —— 指定消息框窗口作为前景窗口。
MB_TOPMOST
MB_SERVICE_NOTIFICATION
MB_SERVICE_NOTIFICATION_NT3X
MB_SERVICE_NOTIFICATION
返回值:
如果没有足够内存创建消息对话框,则返回0。
如果函数成功运行,则返回下列数值之一:
IDABORT —— 用户点击了 Abort 按钮。
IDCANCEL —— 用户点击了 Cancel 按钮。
IDIGNORE —— 用户点击了 Ignore 按钮。
IDNO —— 用户点击了 No 按钮。
IDOK —— 用户点击了 OK 按钮。
IDRETRY —— 用户点击了 Retry 按钮。
IDYES —— 用户点击了 Yes 按钮。
如果对话框显示 Cancel 按钮,则按下 ESC 键与单击 Cancel 按钮的效果相同。
MessageBox函数第一个参数hwnd的作用的更多相关文章
- JS的setTimeout函数第一个参数问题
setTimeout的第一个参数只能放一个无参的函数,更像放了一个函数指针在那里,如果要放带参数的话,就要拿个匿名函数包裹一下
- setInterval()第一个参数带引号和不带引号的区别
setInterval()第一个参数带引号和不带引号的区别:关于定时函数setInterval()的基本用法这里就不做介绍了,查阅相关教程即可,这里主要介绍一下setInterval()函数的第一个参 ...
- node第一个参数必须是err
Node.js 约定回调函数第一个参数必须是错误对象err: 问题:Node.js约定回调函数第一个参数必须是错误对象err,如果没有错误该参数就是null 原因:异步执行分成两段,在两段之间抛出异常 ...
- (转)AS3 中,Function.apply、call中第一个参数的作用;与什么时候用
http://blog.csdn.net/linjf520/article/details/8746064 大家在使用Function.apply或是call时,是否发现,第一个参数不知道怎么用,赋值 ...
- 当call/apply传的第一个参数为null/undefined的时候js函数内执行的上下文对象是什么呢?
如题:在js中我们都知道call/apply,还有比较少用的bind;传入的第一个参数都是改变函数当前上下文对象;call/apply区别在于传的参数不同,一个是已逗号分隔字符串,一个以数组形式.而b ...
- 对setTimeout()第一个参数是字串的深入理解以及eval函数的理解
<script language="javascript" type="text/javascript"> var a=1; setTimeout( ...
- call和apply第一个参数为null/undefined,函数this指向全局对象
call和apply第一个参数为null/undefined,函数this指向全局对象,在浏览器中是window,在node中是global 在严格模式中(ie 6/7/8/9 除外),传入null/ ...
- php重建二叉树(函数缺省参数相关的都写在后面,比如array_slice函数中的$length属性,故第一个参数是操作的数组)
php重建二叉树(函数缺省参数相关的都写在后面,比如array_slice函数中的$length属性,故第一个参数是操作的数组) 一.总结 牛客网和洛谷一样,是真的好用 二.php重建二叉树 输入某二 ...
- ARTS-S pytorch中backward函数的gradient参数作用
导数偏导数的数学定义 参考资料1和2中对导数偏导数的定义都非常明确.导数和偏导数都是函数对自变量而言.从数学定义上讲,求导或者求偏导只有函数对自变量,其余任何情况都是错的.但是很多机器学习的资料和开源 ...
随机推荐
- C#中byte[]类型转换为其它类型
我们这里就举byte[]类型和long类型的转换,其它数据类型用BitConverter类以此类推: /// <summary> /// 字节数组转换为long类型 /// </su ...
- Linux_软件安装管理
开始学习rpm,yum等命令的使用,下面的地址可供你学习 大部分都大同小异! 感谢作者:https://segmentfault.com/a/1190000011200461
- 一个简单的javascript节流器实现
节流器 javascript的节流器主要用于延缓某些动作的执行,比如ajax请求,如果input框注册了input事件,那么当用户输入时就会持续的触发这个事件,如果回调函数中持续的通过ajax调用后台 ...
- C# LINQ 详解 From Where Select Group Into OrderBy Let Join
目录 1. 概述 2. from子句 3. where子句 4. select子句 5. group子句 6. into子句 7. 排序子句 8. let子句 9. join子句 10. 小结 1. ...
- browserify运行原理分析
目前对于前端工程师而言,如果只针对浏览器编写代码,那么很简单,只需要在页面的script脚本中引入所用js就可以了. 但是某些情况下,我们可能需要在服务端也跑一套类似的逻辑代码,考虑如下这些情景(以n ...
- 在 Ionic2 TypeScript 项目中导入第三方 JS 库
原文发表于我的技术博客 本文分享了在Ionic2 TypeScript 项目中导入第三方 JS 库的方法,供参考. 原文发表于我的技术博客 1. Typings 的方式 因在 TypeScript 中 ...
- Ubuntu apt-get提示被锁住
执行 apt-get 时提示资源被锁住 E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavai ...
- phpstorm 报错及解决
1. 当项目里有大量 js 文件时,一旦编辑包含 js 的文件,phpstorm 会卡顿,甚至未响应 问题原因: 内存限制较小 解决方法一: 直接将弹出框中的红色部分修改为需要的内存限制,并选择 Sh ...
- 这里已不再更新,访问新博客请移步 http://www.douruixin.com
这里已不再更新,访问新博客请移步 http://www.douruixin.com
- DNS之BIND使用小结(Forward转发)
之前详细介绍了DNS及其在linux下的部署过程,今天再说下DNS的BIND高级特性-forwarder转发功能.比如下面一个案例:1)已经在测试环境下部署了两台内网DNS环境,DNS的zone域名为 ...