MFC实例:[3] MessageBox消息对话框

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunjikui1255326447/article/details/88864166

 

MFC实例:[3] MessageBox消息对话框

1、MessageBox在MFC中应用和win 32 API中是不一样的,这点需要注意

(1)先说说在win32 API中

       MessageBox()
  功能显示一个消息对话框。
  int MessageBox(text,title{,icon{,button{,default}}})
  参数title:string类型,指定消息对话框的标题text:指定消息对话框中显示的消息,该参数可以是数值数据类型、字符串或boolean值icon:Icon枚举类型,可选项,指定要在该对话框左侧显示的图标button:Button枚举类型,可选项,指定显示在该对话框底部的按钮default:数值型,可选项,指定作为缺省按钮的按钮编号,按钮编号自左向右依次计数,缺省值为1,如果该参数指定的编号超过了显示的按钮个数,那么MessageBox()函数将使用缺省值返回值Integer。函数执行成功时返回用户选择的按钮编号(例如1、2、3等),发生错误时返回-1。如果任何参数的值为NULL,MessageBox()函数返回NULL。

   实例:

 MessageBox(NULL,TEXT("你是好人吗?"),TEXT("CHOOSE"),MB_YESNO|MB_ICONQUESTION);

 MessageBox(NULL,TEXT("你看你就不像一个好人!"),TEXT("要说实话哟!"),MB_OK|MB_ICONWARNING);

 MessageBox(NULL,TEXT("开始格式化C盘"),TEXT("骗人了吧!"),MB_OK);

 MessageBox(NULL,TEXT("尝试把你变成好人失败,是否重试呢?"),TEXT("AAA"),MB_OK|MB_RETRYCANCEL);

 MessageBox(NULL,TEXT("坏蛋可以去死啦!"),TEXT("哎真让人替你悲哀呀"),MB_OK);

这里不重点介绍win32 API的MessageBox有关参数。

2、MFC中MessageBox应用:

int MessageBox( HWND hWnd, LPCTSTR lpText, LPCSTR lpCaption,UINT uStyle );

(1)打开vs2017 ---》新建MFC工程-------》对话框

(2)创建三个按钮,双击每个按钮,创建每个按钮的响应函数;

(3)常见一个静态文本框,并添加变量m_Edit。

(3)界面常见如下:(字符集设置成多字节,负责代码会不兼容)

具体函数:

提示按钮函数:

void CTestDlg::OnBnClickedButton2()
{
	// TODO: 在此添加控件通知处理程序代码
	MessageBox("简单的消息提示框", "提示", MB_ICONINFORMATION);

	m_Edit.SetWindowText("信息提示");
}

错误按钮函数 :

void CTestDlg::OnBnClickedButton3()
{
	// TODO: 在此添加控件通知处理程序代码
	int nvalue = MessageBox("程序运行出现错误!", "错误", MB_ABORTRETRYIGNORE | MB_ICONERROR);

	if (nvalue == IDABORT)//用户按下了"终止"按钮

		m_Edit.SetWindowText("用户选择了终止程序");

	else if (nvalue == IDRETRY)//用户按下了"终止"按钮

		m_Edit.SetWindowText("用户选择了重试程序");

	else//用户按下了"忽略"按钮

		m_Edit.SetWindowText("用户选择了忽略程序");
}

 退出按钮函数:

void CTestDlg::OnBnClickedButton4()
{
	// TODO: 在此添加控件通知处理程序代码
	int nvalue = MessageBox("是否真的要退出程序?", "退出", 4 + 32 + 256);

	if (nvalue == IDYES)//用户按下了"是"按钮

		m_Edit.SetWindowText("用户选择了退出程序");

	else

		m_Edit.SetWindowText("用户取消了退出程序");
}

3、运行结果:

4、项目地址:

链接:https://pan.baidu.com/s/1Abf5EbAAO6dkZ-G5jod7AQ 
提取码:8i0s 

猜你喜欢

转载自blog.csdn.net/sunjikui1255326447/article/details/88864166