Messagebox()是在MFC编程过程中运用比较多的一个函数,下面介绍一下基本用法。
函数原型:
MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT, uType);
hWnd 父窗口句柄;
lpText 窗口打印内容;
lpCaption 窗口标题;
uType 窗口类型。
父窗口句柄一般添0就可以了,不必特别指定;
文字信息 lpText 和 lpCaption 可以直接用"你的信息"指定,或是定以LPCTSTR字符串,可以动态加载内容.
uType参数是我们重点讲解:
预设按钮参数:
MB_ABORTRETRYIGNORE about/retry/ignore
MB_CANCELTRYCONTINUE cancel/retry/continue
MB_HELP help
MB_OK ok
MB_OKCANCEL ok/cancel
MB_RETRYCANCEL retry/cancel
MB_YESNO yes/no
MB_YESNOCANCEL yes/no/cancel
以上值相与的结果与组合一致,但不同类型组合可能会被覆盖。
图标参数:
MB_ICONEXCLAMATION 叹号警告
MB_ICONWARNING 叹号警告
MB_ICONINFORMATION 小 i 标志
MB_ICONASTERISK 小 i 标志
MB_ICONQUESTION 问号标志
MB_ICONSTOP 红叉标志
MB_ICONERROR 红叉标志
MB_ICONHAND 红叉标志
设置默认按键:
MB_DEFBUTTON1
MB_DEFBUTTON2
MB_DEFBUTTON3
MB_DEFBUTTON4
默认按键的作用是当用户直接敲击Enter时,按默认按键发送消息。
MB_APPLMODAL 默认Disable父进程的窗口,直到消息窗口返回,需要指定父进程
MB_SYSTEMMODAL Disable父进程的窗口,并保持消息窗口在最上层直到返回,需要指定父进程
MB_TASKMODAL Disable父进程的窗口,直到消息窗口返回,当父进程为NULL时,Disable当前窗口。
MB_DEFAULT_DESKTOP_ONLY 跟MB_TASKMODAL类似,不过好像不调用
MB_RIGHT 消息右对齐
MB_RTLREADING 窗口标题右对齐
MB_SETFOREGROUND 消息出现在最上层
MB_TOPMOST 消息窗口一直在最上层
MB_SERVICE_NOTIFICATION 暂时没研究
MB_SERVICE_NOTIFICATION_NT3X 暂时没研究
返回值:
IDABORT Abort button was selected.
IDCANCEL Cancel button was selected.
IDCONTINUE Continue button was selected.
IDIGNORE Ignore button was selected.
IDNO No button was selected.
IDOK OK button was selected.
IDRETRY Retry button was selected.
IDTRYAGAIN Try Again button was selected.
IDYES Yes button was selected.