MessageBox 用法
新建项目:
打开 Visual Studio,文件菜单-》新建-》项目-》MFC 应用程序(名称:
DemoMessageBox)-》应用程序类型:选择基于对话框,其它选项默认。
在默认生成的对话框“IDD_DEMOMESSAGEBOX_DIALOG”中增加 Button 控件,
然后增加单击事件。
1. 简单消息框
参考源码:
void CDemoMessageBoxDlg::OnBnClickedButton1()
{
MessageBox("这是最简单的消息框!");
}
提示:如果在 Visual Studeio 中遇到如下错误:
错误 1
error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从
“const char [6]”转换为“LPCTSTR”
比较常用的解决办法:
选择“项目”菜单->项目属性->配置属性->常规->字符集,改为“未设
置”即可。
2. 有标题的消息框
参考源码:
void CDemoMessageBoxDlg::OnBnClickedButton2()
{
MessageBox("这是一个有标题的消息框","标题");
}
3. 包括“确定 取消”两个按钮的消息框
参考源码:
void CDemoMessageBoxDlg::OnBnClickedButton3()
{
int result = MessageBox("这是一个有标题的消息框","标题
",MB_OKCANCEL);
if(result == IDOK)
MessageBox("您选了确定");
else
MessageBox("您选了取消");
}
4. 警告框
参考源码:
void CDemoMessageBoxDlg::OnBnClickedButton4()
{
MessageBox("这是一个警告的消息框!","标题", MB_ICONEXCLAMATION );
}
5. 警告框+确定、取消 双种属性的消息框
void CDemoMessageBoxDlg::OnBnClickedButton5()
{
MessageBox("这是一个两种属性的消息框!","标题",
MB_ICONEXCLAMATION|MB_OKCANCEL );
}
6. 举例,使用包括“是”、“否”按钮的消息框,如果用户选“否”,则
一直提问,直到用户选“是”为止。
参考源码:
void CDemoMessageBoxDlg::OnBnClickedButton6()
{
int result;
do
{
result = MessageBox("Do you love me?","定要要回答yes,否则不
许走!",MB_YESNO);
}
while(result == IDNO);
MessageBox("I Know");
}
7. 其它常用属性
系统默认图标,可在消息框上显示
X 错误 MB_ICONHAND, MB_ICONSTOP, and MB_ICONERROR
?询问 MB_ICONQUESTION
!警告 MB_ICONEXCLAMATION and MB_ICONWARNING
i 信息 MB_ICONASTERISK and MB_ICONINFORMATION
8. 按钮的形式:
MB_OK 默认
MB_OKCANCEL 确定取消
MB_YESNO 是否
MB_YESNOCANCEL 是否取消
9. 返回值:
IDCANCEL 取消被选
IDNO 否被选
IDOK 确定被选
IDYES 是被选