MessageBox显示一个模态对话框,返回一个整数值,该值指示用户单击了哪个按钮。
MessageBox( "内容字符串", "标题字符串" );//直接显示提示信息,对返回值不感兴趣。标题字符串可以省略,使用父窗口的标题。
if( IDYES == MessageBox( "内容字符串", "标题字符串", MB_YESNO ) )
{
}//带有yes no两个按钮。
如果要想显示变量的值,就先把数值转变成字符串,再用MessageBox显示出来,使用字符串和字符串对象都行。但是只能显示一次,因为要点确定关闭对话框,否则会出现很多个对话框。如果要想动态显示变量的值,应使用static text静态文本框来实现。
//显示
s1.Format( "用户总数:%d 车牌总数:%d", m_ItemCount, m_wPlateCount );
GetDlgItem(IDC_STATIC_COUNT)->SetWindowText(s1);
MessageBox是对话框类的成员函数,可以在对话框程序中直接调用,但是在非对话框程序中,就不能使用了,这时要使用AfxMessageBox这个函数了,这个函数是MFC的全局函数,不需要指定窗口句柄,也不能修改其标题。
AfxMessageBox(“123”,MB_OK|MB_ICONEXCLAMATION );
另外还有一个::MessageBox函数:
::MessageBox( hWnd, "msg", "caption", MB_OK );
这是个Windows API函数,需要指定窗口句柄,可以修改标题。如果前边不加::,则默认使用对话框的成员函数,加上::显式的强调使用API函数。
API函数是Windows最底层的函数,所有的Afx开头的框架类全局函数和类的成员函数都是对API函数的封装。