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 按钮的效果相同。

参考链接:
[1]http://baike.baidu.com/link?url=d9klcIelIf1rjHnevFn1HzmWir875EvN-q7flzCVAmlbiPjHVtSZgsUNU9jkXyUMXaCjVERpQJmNlyjYOGg45ECogaXJiFSSoSjsrsB-uFXQzPQ-0HtOX4KtgCydGgkL

MessageBox函数第一个参数hwnd的作用的更多相关文章

  1. JS的setTimeout函数第一个参数问题

    setTimeout的第一个参数只能放一个无参的函数,更像放了一个函数指针在那里,如果要放带参数的话,就要拿个匿名函数包裹一下

  2. setInterval()第一个参数带引号和不带引号的区别

    setInterval()第一个参数带引号和不带引号的区别:关于定时函数setInterval()的基本用法这里就不做介绍了,查阅相关教程即可,这里主要介绍一下setInterval()函数的第一个参 ...

  3. node第一个参数必须是err

    Node.js 约定回调函数第一个参数必须是错误对象err: 问题:Node.js约定回调函数第一个参数必须是错误对象err,如果没有错误该参数就是null 原因:异步执行分成两段,在两段之间抛出异常 ...

  4. (转)AS3 中,Function.apply、call中第一个参数的作用;与什么时候用

    http://blog.csdn.net/linjf520/article/details/8746064 大家在使用Function.apply或是call时,是否发现,第一个参数不知道怎么用,赋值 ...

  5. 当call/apply传的第一个参数为null/undefined的时候js函数内执行的上下文对象是什么呢?

    如题:在js中我们都知道call/apply,还有比较少用的bind;传入的第一个参数都是改变函数当前上下文对象;call/apply区别在于传的参数不同,一个是已逗号分隔字符串,一个以数组形式.而b ...

  6. 对setTimeout()第一个参数是字串的深入理解以及eval函数的理解

    <script language="javascript" type="text/javascript"> var a=1; setTimeout( ...

  7. call和apply第一个参数为null/undefined,函数this指向全局对象

    call和apply第一个参数为null/undefined,函数this指向全局对象,在浏览器中是window,在node中是global 在严格模式中(ie 6/7/8/9 除外),传入null/ ...

  8. php重建二叉树(函数缺省参数相关的都写在后面,比如array_slice函数中的$length属性,故第一个参数是操作的数组)

    php重建二叉树(函数缺省参数相关的都写在后面,比如array_slice函数中的$length属性,故第一个参数是操作的数组) 一.总结 牛客网和洛谷一样,是真的好用 二.php重建二叉树 输入某二 ...

  9. ARTS-S pytorch中backward函数的gradient参数作用

    导数偏导数的数学定义 参考资料1和2中对导数偏导数的定义都非常明确.导数和偏导数都是函数对自变量而言.从数学定义上讲,求导或者求偏导只有函数对自变量,其余任何情况都是错的.但是很多机器学习的资料和开源 ...

随机推荐

  1. excel保存为制表符分隔的文本文件 js无法完整读取

    excel保存为制表符分隔的文本文件 js无法完整读取 excel另存为文本有两个选项,一个是制表符分隔的文本文件,一个是unicode文本.生成的文件Unicode更大一些.但是这里需要注意的是[制 ...

  2. mvn打包到私服的命令

    1.mvn clean package install -Dmaven.test.skip=true deploy 2.docker清楚Nexus私服上包的命令: a) docker exec -it ...

  3. Ubuntu16.04程序自启动

    试过修改/etc/rc.local文件,但是启动无效. 目前试过行之有效的方式如下: 参考:https://www.aliyun.com/jiaocheng/186625.html 在终端执行 gno ...

  4. Caffe源码中caffe.proto文件分析

    Caffe源码(caffe version:09868ac , date: 2015.08.15)中有一些重要文件,这里介绍下caffe.proto文件. 在src/caffe/proto目录下有一个 ...

  5. pandas:解决groupby().apply()方法打印两次

    对于以下dataframe执行dataframe.groupby(['name', 'course']).apply(lambda x: test(x)) 操作 其中test(x)函数为: def t ...

  6. [JDBC]你真的会正确关闭connection吗?

    Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; try { conn = DriverManag ...

  7. Zookeeper Windows版的服务安装和管理工具

    以前研究过负载均衡,最近正在项目上实施(从来没做过小项目以上级别的东西,哈).然后遇到了多个一模一样但是同时运行的服务.不同服务但依赖同相同的配置数据(前端网页服务:Nginx+IIS+nodejs. ...

  8. linux 下隐藏进程的一种方法

    前言 本文所用到的工具在 https://github.com/gianlucaborello/libprocesshider 可以下载 思路就是利用 LD_PRELOAD 来实现系统函数的劫持 LD ...

  9. EXPERT FOR SQL SERVER诊断系列--索引

    概述   索引设计是数据库设计中比较重要的一个环节,对数据库的性能起着至关重要的作用,但是索引的设计却又不是那么容易的事情,性能也不是那么轻易就获取到的,很多的技术人员因为不恰当的创建索引,最后使得其 ...

  10. Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十二)Spring集成Redis缓存

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 整合Redis 本来以为类似的Redis教程和整合代码应该会很多,因 ...