2.5 第一个代码实例

特殊说明:版权归个人所有,请勿转载,谢谢合作。

【例2-1】实现了一个简单的消息框,代码示例如下:

#include <windows.h>
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
  MessageBox(NULL, "显示的内容", "标题", MB_OK);
  return 0;
}

今后的程序示例,都是以此代码作为框架,一步一步搭建,不再关心入口函数及参数的含义,而是关心程序实现了什么样的功能。接下来分析一下MessageBox函数实现的具体功能,以及实现方法。

MessageBox函数的功能是弹出一个消息框,如图1.19所示。其中第一个参数(显示为NULL)为窗口句柄(窗口句柄与实例句柄相似,它唯一标识一个窗口),因为还没有创建窗口,所以此处的窗口句柄设计为NULL;第二个参数为消息窗口显示的内容;第三个参数为消息窗口的标题;第四个参数为消息窗口的风格,风格方式有很多种,如表2.4所示。

 

  • 表2.1 消息窗口风格
标识 描述
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。

 

可以通过“MessageBox(NULL, “显示的内容”, “标题”, MB_OK | MB_ICONWARNING);”来改变显示的消息的级别,如图2.8所示。

  • 图2.1 带有惊叹号的消息框

 

MessageBox函数可以指定表2.5标志中的任一个标识,来显示消息框中的不同级别的图标。

 

  • 表2.2 消息警示图标
标识 描述
MB_ICONEXCLAMATION、MB_ICONWARNING 消息框中加入惊叹号。
MB_ICONINFORMATION、MB_ICONASTERISK 消息框中加入气泡图标i。
MB_ICONQUESTION 消息框加入问题标记。
MB_ICONSTOP、MB_ICONERROR、MB_ICONHAND 消息框加入停止标记。

 

MessageBox可以接收返回值,通过返回值可以判断点击了哪个按钮,如果没有足够的内存来创建消息框,则返回值为零。如果函数调用成功,则返回值为表2.6中的一个。

 

  • 表2.3 消息返回值
说明
IDABORT Abort 按钮被选中。
IDCANCEL Cancel按钮被选中。
IDIGNORE Ignore按钮被选中。
IDNO NO按钮被选中。
IDOK OK按钮被选中。
IDRETRY RETRY按钮被选中。
IDYES YES按钮被选中。

 

如果一个消息框有一个Cancel按钮,按下Esc键被如同按下Cancel键,则函数返回IDCANCEL值。如果消息框没有Cancel按钮,则按Esc键则没有作用。MessageBox函数的返回值其实都是整型的数值,以下是默认的定义。

#define IDOK 1
#define IDCANCEL 2
#define IDABORT 3
#define IDRETRY 4
#define IDIGNORE 5
#define IDYES 6
#define IDNO 7
#if(WINVER >= 0x0400)
#define IDCLOSE 8
#define IDHELP 9

 

转载请附上原文出处链接及本声明
李老师的博客 » 2.5 第一个代码实例

发表评论

提供最优质的文章集合

立即查看 了解详情