MessageBox()并没有什么多少功能,但是能够在屏幕上显示一个窗口,提出一个问题,并且等候用户的输入。下面是MessageBox()的原型:
int MessageBox(HWND hwn,//handle of owner window
LPCTSTR lptext,//address of text in message box
LPCTSTR lpcaption,//address of title of message box
UINT utype);//style of message box
参数定义如下:
hwnd——这是信息框连续窗口的句柄。目前我们还不能谈及窗口句柄,因此只能认为它是信息框的父窗口。在DEMO2_2.CPP,我们将它设置为空值NULL,因此使用Windows桌面作为父窗口。
lptext——这是一个包含显示文本的空值终止字符串。
lpcaption——这是一个包含显示文本框标题的空值终止字符串。
utype——这大概是该簇参数中唯一令人激动的参数了,控制信息显示框的各类。
表2.3列出了几种MessageBox()选项(有些删减)。
表2.3 MessageBox()选项
─────────────────────────────────
标志 描述
─────────────────────────────────
下列设置控制信息框的一般类型
───────────┬─────────────────────
MB_OK │信息框含有一个按钮:OK,这是默认值
MB_OKCANCEL │信息框含有两个按钮:OK和Cancel
MB_RETRYCANCEL │信息框含有两个按钮:Retry和Cancel
MB_YESNO │信息框含有两个按钮:Yes和No
MB_YESNOCANCEL │信息框含有三个按钮:Yes、No和Cancel
MB_ABORTRETRYIGNORE│信息框含有三个按钮:Yes、No和Cancel
───────────┴─────────────────────
这一组控制在图标上添加一点“穷人的多媒体”
───────────┬─────────────────────
MB_ICONEXCLAMATION │信息框显示一个惊叹号图标
MB_ICONINFORMATION │信息框显示一个由圆圈中的小写字母I构成的图标
MB_ICONQUESTION │信息框显示一个问号图标
MB_ICONSTOP │信息框显示一个终止符图标
───────────┴─────────────────────
该标志组控制默认时高亮的按钮
───────────┬─────────────────────
MB_DEFBUTTONn │其中n是一个指示默认按钮的数字(1-4),从左
│到右计数
───────────┴─────────────────────
注意:还有其他的高级OS级标志,我们没有讨论。如果希望了解更多细节的话,可以通过编译器Win32 SDK的在线帮助来查阅。
可以同时使用表2.3中的值进行逻辑或运算,来创建一个信息框。一般情况下,只能从每一组中仅使用一个标志来进行或运算。
当然,和所有Win2 API函数一样,MessageBox()函数返回一个值业通知编程者所发生的事件。但在这个例子中谁关心这个呢?通常情况下,如果信息框是yes/no提问之类的情况的话,就希望知道这个返回值。表2.4列出了可能的返回值。
表2.4 MessageBox()的返回值
─────┬─────────────────────
值 │ 按钮选择
─────┼─────────────────────
IDABORT │Abort
IDCANCEL │Cancel
IDIGNORE │Ignore
IDNO │No
IDOK │OK
IDRETRY │Retry
IDYES │Yes
─────┴─────────────────────
最后,这个表已经毫无遗漏地列出了所有的返回值,正在已经完成了对我们第一个Windows程序——单击的逐行分析。
分享到:
相关推荐
VC++消息映射与处理\使用命令范围消息处理函数
VC++ 消息映射与处理\向其他应用程序(记事本)中发送键盘消息
vc++跨进程处理消息(本例通过SendMessage向windows计算器发送消息)
VC++消息映射与处理\在普通视图窗口中实现键盘字符的输入
VC++消息映射与处理\在对话框中实现键盘消息响应
VC++ 消息映射与处理 例子 程序 如:在对话框中定义光标的热区, 使用定时器显示毫秒级的时间m 限制鼠标的作用区域在客户窗口 等
VC++消息映射与处理\在对话框中定义光标的热区
VC++消息映射与处理\在视图窗口实现捕捉鼠标
摘要:VC/C++源码,系统相关,消息处理 演示VC++创建鼠标消息处理程序,简单的鼠标消息处理,有兴趣的的VC爱好者可参考源码。 运行环境:Windows/Visual C/C++
VC++消息映射与处理\使用程序模拟键盘输入
VC++消息映射与处理\使用程序模拟鼠标动作
这是一篇讲的很深入的windows按键响应的知识,对于初学者来说是非常有帮助的
VC++消息映射与处理\使用定时器实时显示当前时间
环境:Windows XP SP3、...本示包含Apply按钮自定义消息句柄的处理,以及Rich Edit Control控件在View类的使用,以及弹出式菜单功能的实现。这是一个综合演示Windows编程中常见功能的好例子。 学习对象:VC++编程人员
VC++消息映射与处理\使用定时器显示毫秒级的时间
VC++消息映射与处理\限制鼠标的作用区域在客户窗口
vc++实现非窗口类中使用定时器的方法 没有用消息处理函数Ontimer
华中科技大学数字图像处理课程课件。内含源代码,你学习的同时可以参考源代码,这样易于掌握VC知识。
完整的展示了在MFC对话框程序中,如何重载PreTranslateMessage,实现对键盘消息的屏蔽,获取,处理和再次显示的做法。
Vc++ 打造局域网聊天室(3)---动态启用 or 禁用窗口及MFC消息映射机制 http://www.3800hk.com/donghua/g/27350.html Vc++ 打造局域网聊天室(4)---实现动态伸缩窗口 http://www.3800hk.com/donghua/g/27387.html Vc++ ...