先写个小小的引子,c基础知识学完以后就觉得没事情干了,在网上瞎逛看到《C语言也能干大事》自己可以百度。感觉不错,看了几期略有收货写这个帖子作为笔记以后复习用。
一 MessageBox的说明
1. 消息框的函数原型:
int MessageBox(HWND hwnd,LPCTSTR lpsztext,LPCSTR lpsztitle,UINT ustyle);
2. 参数说明:
hwnd :为父窗口的句柄,当MessageBox被激活的时候父窗口是无法被操作的,为NULL的话表示没有父窗口;
ipsztext :一个字符串指针,指向在MessageBox中显示的内容。
ipsztitle: 消息框的标题。也是一个字符串指针。
ustyle:这个参数是微软定义好的宏(在文件winuser.h中),当然也可以使用十六进制数;指定消息框的内容和形为(即该消息框有几个按钮、文本对齐等状态,可以在20多个属性值中进行组合)
ustyle这个参数有很多,还可以用或(“|”)运算符组合:(下面这些宏不一定需要记得,只要记得一个比如MB_OK,到时候右击选择跳到定义文件就能看到,但是要知道每个宏运行出来的效果)
3.参数实例:
显示哪些按钮:
#define MB_OK 0X00000000L
#define MB_OKCANCEL 0X00000001L
#define MB_ABORTRERYGNORE 0X00000002L
#define MB_YESNOCANCEL 0X00000003L
#define MB_YESNO 0X00000004L
#define RERYCANCEL 0X00000005L
焦点在哪个按钮上:
#define MB_DEFBUTTON1 0X00000000L
#define MB_DEFBUTTON2 0X00000100L
#define MB_DEFBUTTON3 0X00000200L
#define MB_DEFBUTTON4 0X00000300L
图示的外观:
#define MB_ICONHAND 0x00000010L
#define MB_ICONQUESTION 0x00000020L
#define MB_ICONEXCLAMATION 0x00000030L
#define MB_ICONASTERISK 0x00000040L
图示的某些有替代名称:
#define MB_ICONWARNING MB_ICONEXCLAMATION
#define MB_ICONERROR MB_ICONHAND
#define MB_ICONINFORMATION MB_ICONASTERISK
#define MB_ICONSTOP MB_ICONHAND
4. 函数返回值
0 //对话框建立失败
IDOK = 1 //按确定按钮
IDCANCEL = 2 //按取消按钮
IDABOUT = 3 //按异常终止按钮
IDRETRY = 4 //按重试按钮
IDIGNORE = 5 //按忽略按钮
IDYES = 6 //按是按钮
IDNO = 7 //按否按钮
二 用法示例
//简单示例
MessageBox(NULL,TEXT( "Hello"), TEXT("Windows!"), MB_OK );
MessageBox(NULL, TEXT( "Hello"), TEXT("Windows!"), MB_YESNO|MB_ICONEXCLAMATION) ;
MessageBox(NULL, TEXT( "Hello"), TEXT("Windows!"), MB_YESNO|MB_DEFBUTTON1) ;//表示窗口出来后焦点 focus落在Yes(第一个)按钮上
//返回值示例
int ret = MessageBox(NULL, TEXT( "Hello"), TEXT("Windows!"), MB_YESNO|MB_ICONEXCLAMATION) ;
if( IDYES == ret)
{
}
else if(IDNO == ret)
{
}