AfxMessageBox()与MessageBox()的区别

1. 用法不同
AfxMessageBox:比较简单,是一个全局函数所以不需要对应的一个窗口类,但是不能控制消息框标题,常用于调试程序时的内部数据输出或警告,使用时要加上头文件afxwin.h中,不过该文件一般自动列在stdafx中了;
MessageBox:比较正式,常用在要提交的应用程序版本中,可以控制标题内容而不必采用含义不明的可执行文件名为标题,使用时在CWnd的子类中使用比较简单,在非子类中用法相对比较麻烦。
2. 声明形式不同
AfxMessageBox的声明形式 :
int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 );
MessageBox的声明形式:
int WINAPI MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType);
3. 用法举例

AfxMessageBox:

AfxMessageBox(_T("请首先建立八叉树!"))

MessageBox: 这是C~doc类中调用MessageBox的情景,可见要比AfxMessageBox用法麻烦的多

	m_gOctree->SetRevolutionNum(t);
	int cur_rev=m_gOctree->GetRevolutionNum();
	CString str;
	str.Format(_T("当前所设定的分辨率为:%d*%d*%d!"),
					static_cast<int>(pow(static_cast<float>(2),static_cast<float>(cur_rev))),
					static_cast<int>(pow(static_cast<float>(2),static_cast<float>(cur_rev))),
					static_cast<int>(pow(static_cast<float>(2),static_cast<float>(cur_rev))));
	CMainFrame* pMainFrame=(CMainFrame*)(AfxGetApp()->m_pMainWnd);
	HWND hwnd=pMainFrame->GetSafeHwnd();
	MessageBox(hwnd,str,_T("分辨率"),MB_OKCANCEL);
Reference:

http://baike.baidu.com/view/1441706.htm

http://baike.baidu.com/view/927800.htm

http://baike.baidu.com/view/1344257.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值