MessageBox

///////////////Messagebox的定义

WINUSERAPI
int
WINAPI
MessageBoxA(
    HWND hWnd ,
    LPCSTR lpText,
    LPCSTR lpCaption,
    UINT uType);
WINUSERAPI
int
WINAPI
MessageBoxW(
    HWND hWnd ,
    LPCWSTR lpText,
    LPCWSTR lpCaption,
    UINT uType);
#ifdef UNICODE
#define MessageBox  MessageBoxW
#else
#define MessageBox  MessageBoxA
#endif // !UNICODE

WINUSERAPI
int
WINAPI
MessageBoxExA(
    HWND hWnd ,
    LPCSTR lpText,
    LPCSTR lpCaption,
    UINT uType,
    WORD wLanguageId);
WINUSERAPI
int
WINAPI
MessageBoxExW(
    HWND hWnd ,
    LPCWSTR lpText,
    LPCWSTR lpCaption,
    UINT uType,
    WORD wLanguageId);
#ifdef UNICODE
#define MessageBoxEx  MessageBoxExW
#else
#define MessageBoxEx  MessageBoxExA
#endif // !UNICODE

/////////////////////////////////////下面是最后一个参数的所有可选参数,即显示方式

/*
 * MessageBox() Flags
 */        
#define MB_OK                       0x00000000L                            //确定
#define MB_OKCANCEL                 0x00000001L                  //确定 取消
#define MB_ABORTRETRYIGNORE         0x00000002L       终止(A) 重试(R) 忽略(I)
#define MB_YESNOCANCEL              0x00000003L               是(Y) 否(N) 取消
#define MB_YESNO                    0x00000004L                          是 否       
#define MB_RETRYCANCEL              0x00000005L                重试(R) 取消

///////以不为图标,还附带了声音

#define MB_ICONHAND                 0x00000010L                      一个叉叉 //错误时的提示
#define MB_ICONQUESTION             0x00000020L                 一个问号
#define MB_ICONEXCLAMATION          0x00000030L             一个感叹号,一般修改一个文件后没保存,在关闭时出现的提示中的那个三角形外壳的感叹号
#define MB_ICONASTERISK             0x00000040L                   一个大写的i,即I

#if(WINVER >= 0x0400)
#define MB_USERICON                 0x00000080L
#define MB_ICONWARNING              MB_ICONEXCLAMATION //就是那个感叹号。。。用于警告,更形象
#define MB_ICONERROR                MB_ICONHAND                   //就是那个叉叉的。。用于错误的提示,更形象化了。。。
#endif /* WINVER >= 0x0400 */

#define MB_ICONINFORMATION          MB_ICONASTERISK     //是上面的大写I,用于信息的提示,更形象化了。。。
#define MB_ICONSTOP                 MB_ICONHAND                      //就是那个叉叉的。。用于禁止的提示,更形象化了。。。

//以下是默认按钮的设置(好像叫缺省按钮)
#define MB_DEFBUTTON1               0x00000000L                     //设置第一个为默认按钮
#define MB_DEFBUTTON2               0x00000100L                      //设置第二个
#define MB_DEFBUTTON3               0x00000200L                      //设置第三个
#if(WINVER >= 0x0400)
#define MB_DEFBUTTON4               0x00000300L                       //设置第四个
#endif /* WINVER >= 0x0400 */

#define MB_APPLMODAL                0x00000000L
#define MB_SYSTEMMODAL              0x00001000L
#define MB_TASKMODAL                0x00002000L
#if(WINVER >= 0x0400)
#define MB_HELP                     0x00004000L // Help Button         帮助按钮,选择Help按钮或按F1产生一个Help事件
#endif /* WINVER >= 0x0400 */

#define MB_NOFOCUS                  0x00008000L
#define MB_SETFOREGROUND            0x00010000L
#define MB_DEFAULT_DESKTOP_ONLY     0x00020000L

#if(WINVER >= 0x0400)
#define MB_TOPMOST                  0x00040000L
#define MB_RIGHT                    0x00080000L                  //文本为右调整
#define MB_RTLREADING               0x00100000L         //用在Hebrew和Arabic系统中从右到左的顺序显示消息和大写文本。


#endif /* WINVER >= 0x0400 */

#ifdef _WIN32_WINNT
#if (_WIN32_WINNT >= 0x0400)
#define MB_SERVICE_NOTIFICATION          0x00200000L
#else
#define MB_SERVICE_NOTIFICATION          0x00040000L
#endif
#define MB_SERVICE_NOTIFICATION_NT3X     0x00040000L
#endif

#define MB_TYPEMASK                 0x0000000FL
#define MB_ICONMASK                 0x000000F0L
#define MB_DEFMASK                  0x00000F00L
#define MB_MODEMASK                 0x00003000L
#define MB_MISCMASK                 0x0000C000L

 

////一下是它的返回值的参数

/*
 * Dialog Box Command IDs
 */

//以下是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              //帮助
#endif /* WINVER >= 0x0400 */

注:如果一个消息框有一个Cancel按钮,且如果Esc键被按下或Cancel键被选择,则函数返回IDCANCEL值。如果没有Cancel按钮,则按Ese键没有作用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值