【Windows API程序设计】判断MessageBox函数的返回值

#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR ipCmdLine, int nCmdShow)
{
	int nRet=MessageBox(NULL, TEXT("HelloWorld"), TEXT("Caption"), MB_OKCANCEL | MB_ICONINFORMATION | MB_DEFBUTTON2);
	switch (nRet)
	{
		case IDOK:
			MessageBox(NULL, TEXT("用户单击了确定按钮"), TEXT("Caption"), MB_OK);
			break;
		case IDCANCEL:
			MessageBox(NULL, TEXT("用户单击了取消按钮"), TEXT("Caption"), MB_OK);
			break;
	}
}

MessageBox函数的功能是显示一个消息提示框,其中可以包含一个系统图标、一组按钮、一个消息标题和一条简短的消息内容。函数原型如下:

int WINAPI MesageBox(
    _In_opt_ HWND    hWnd,      //消息框的所有者(拥有者)的窗口句柄
    _In_opt_ LPCTSTR lpText,    //要显示的消息内容
    _In_opt_ LPCTSTR lpCaption, //消息框的标题
    _In_     UINT    uType);    //消息框的图标样式和按钮样式

第1个参数hWnd指定消息框的所有者的窗口句柄,HWND是Handle Window的缩写,即窗口句柄。在Win32中句柄实际上就是一个32位的数值。句柄的实际取值对于程序来说并不重要,Windows通过句柄来标识它所代表的对象,比如读者单击某个按钮,Windows通过该按钮的窗口句柄来判断读者单击了哪一个按钮。在Windows 中,句柄的使用非常频繁,以后还将遇到HIC0N(图标句柄)、HCURSOR(光标句柄)以及HBRUSH(画刷句柄)等。第2个参数lpText指定要显示的消息内容,LPCTSTR是一种Windows数据类型,在winnt.h头文件中定义如下:

typedef LPCWSTR PCTSTR, LPCTSTR;
typedef _Null_terminated_ CONST WCHAR *LPCWSTR, *PCWSTR;
typedef _Null_terminated_ CONST CHAR *LPCSTR, *PCSTR;
typedef wchar_t WCHAR;
typedef char CHAR;

CONST表示常量字符串,不可修改,就是说LPCTSTR是一个指向wchar_t或char类型常字符串的指针。后面将介绍wchar_t数据类型。第3个参数lpCaption指定消息框的标题。第4个参数uType指定消息框的图标样式和按钮样式。要指定在消息框中显示的按钮,可以使用表1.2所列的值。

表1.2

 要指定在消息框中显示的图标,可以使用表1.3所列的值。

表1.3

 还可以指定消息框的默认按钮。默认按钮在显示消息框时突出显示的按钮,它有一个粗的边框,按下Enter键就相当于单击了这个按钮。要设置默认按钮,可以使用表1.4所列的值。

表1.4

 

MessageBox函数执行成功会返回一个整数值,指明用户单击了哪个按钮,返回值可以使用表1.5所列的值。

表1.5

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值