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. 『转』统计一个日志文件里,单词出现频率的shell脚本

    原文地址:http://blog.csdn.net/taiyang1987912/article/details/39995175 #查找文本中n个出现频率最高的单词 #!/bin/bash coun ...

  2. Linux系列教程(四)——Linux常用命令之文件和目录处理命令

    这个系列教程的前面我们讲解了如何安装Linux系统,以及学习Linux系统的一些方法.那么从这篇博客开始,我们就正式进入Linux命令的学习.学习命令,首先要跟大家纠正的一点就是,我们不需要记住每一条 ...

  3. BZOJ1758 WC2010 重建计划 二分答案、点分治、单调队列

    传送门 看到平均数最大,自然地想到二分答案.那么我们的$check$函数就是要求:是否存在一条长度在$[L,U]$的路径,满足其权值和$\geq 0$. 看到长度在$[L,U]$,自然地想到点分治求解 ...

  4. BZOJ4856 JSOI2016 病毒感染 区间DP

    传送门 原Word文档 题意:太长不给 这种题目一看就是区间DP 设$f_i$表示治愈了前$i$个村子的时候最少死了多少村民,又设前缀和为$sum_i$,通过枚举折返时最后经过的村子$j$,并且提前计 ...

  5. LOJ #559. 「LibreOJ Round #9」ZQC 的迷宫

    一道ZZ结论题,主要是来写一写交互题的. 我们要先知道一句话: 扶着墙是肯定可以走出简单迷宫的. 然后我们冷静分析问题.若这个迷宫是\(n\times m\)的,那么最多有\(2mn+n+m\)个墙壁 ...

  6. Part 5:Django测试--Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. 本节将简要介绍Django的自动化测试相关内 ...

  7. Qt实现软件自动更新的一种简单方法

    前言 最近在学习Qt开发上位机,想实现一个检查更新的功能,网上搜索了一大圈,发现实现过程都很复杂,关键是代码看不懂,所以就自己开发一种简单的方式来实现.实现效果如下: 点击"检查更新&quo ...

  8. MGR主从不一致问题排查与修复

    运行环境 linux:CentOS release 6.8 (Final) kernel:2.6.32-642.6.2.el6.x86_64 mysql Server version: 5.7.21- ...

  9. Opentsdb 启动显示配置文件不存在

    今天 重新启动opentsdb  出现本地配置文件不存在   这不知道  我查了一下官网 了解到 You can use the --config command line argument to s ...

  10. Github的建立及心得体会

    第一次接触Github,这次注册最大的难处就是全英文,着实看不懂.仅凭着认识的几个常用词去了解个具体内容实在是太困难了.所以第一个体会就是要好好学英语背单词,不想看到满屏的英文就感觉头疼,烦躁.第二个 ...