vs2010中MessageBox的用法

虽然孙鑫老师的视频是经典。可是我发现VC++6.0编出来的MFC在2010里就报错了。决定研究一下变化,以适应新的环境

首先

删除消息框或者什么东西的时候就应该像6.0那样在类视图里删除,而不应该删除代码。有可能有声明的残留。导致编译错误。

切记啊。

其次,自己手动删除也行,添加一个事件处理,有3个地方要添加代码
1.
在头文件类的消息处理函数声明中:
Class CXXXWnd : public CWnd
{
protected:
DECLARE_MESSAGE_MAP()
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
}
2. .cpp消息映射中
BEGIN_MESSAGE_MAP(CMarkLineItemWnd, CDrawItemWnd)
ON_WM_LBUTTONDOWN()
//ON_MESSAGE( WM_MOUSEHOVER, OnMouseHover)
//ON_MESSAGE( WM_MOUSELEAVE, OnMouseLeave)
ON_WM_SIZE()
END_MESSAGE_MAP()
3. .cpp的消息处理函数
void CXXXWnd ::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
Cwnd::OnLButtonDown(nFlags, point);
}

目前只发现了这个方法。希望有高人指教。。。。。。

消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合。
1.
MessageBox(_T("这是一个最简单的消息框!"));
2.
MessageBox(_T("这是一个有标题的消息框!"),_T("标题"));
3.
MessageBox(_T("这是一个确定 取消的消息框!"),_T("标题"), MB_OKCANCEL );
4.
MessageBox(_T("这是一个警告的消息框!"),_T("标题"), MB_ICONEXCLAMATION );
5.
MessageBox(_T("这是一个两种属性的消息框!"),_T("标题"), MB_ICONEXCLAMATION|MB_OKCANCEL );

6.
if(MessageBox(_T("一种常用的应用"),_T("标题"),MB_ICONEXCLAMATION|MB_OKCANCEL)==IDCANCEL)
return;

附其它常用属性

系统默认图标,可在消息框上显示
X错误 MB_ICONHAND, MB_ICONSTOP, and MB_ICONERROR
?询问 MB_ICONQUESTION
!警告 MB_ICONEXCLAMATION and MB_ICONWARNING
i信息 MB_ICONASTERISK and MB_ICONINFORMATION

按钮的形式
MB_OK 默认
MB_OKCANCEL 确定取消
MB_YESNO 是否
MB_YESNOCANCEL 是否取消

返回值
IDCANCEL 取消被选
IDNO 否被选
IDOK 确定被选
IDYES 是被选

补充:
以上消息框的用法是在CWnd的子类中的应用,如果不是,则要MessageBox(NULL,"ddd","ddd",MB_OK); 或MessageBox(hWnd,"ddd","ddd",MB_OK); hWnd为某窗口的句柄,或者直接用AfxMessageBox。
这里所列出的属性只是一些常用属性,在MSDN中还有更多的属性

猜你喜欢

转载自blog.csdn.net/bberdong/article/details/6919819