解決辦法,使用域操作符::MessageBox(),則使用API的4個參數形式
::MessageBox(NULL,"","",MB_OK);
將MessageBox( NULL, (LPCTSTR)lpMsgBuf, “Error”, MB_OK | MB_ICONINFORMATION );
改爲:
::MessageBox( NULL, (LPCTSTR)lpMsgBuf, “Error”, MB_OK | MB_ICONINFORMATION );
MessageBox是API,因此它需要HWND參數指定其所屬窗體。AfxMessageBox()mfc中的全局函數,無句柄HWND參數。能用MessageBox()的地方都能用AfxMessageBox(),但AfxMessageBox不能設置消息框標題(它的默認標題就是應用程序的可執行文件名).
::MessageBox() 是CWnd的成員函數,它要求MessageBox只能在cwnd類及其子類中使用;它不要求HWND參數,因爲CWnd已經指明瞭其所屬窗口。 因此CWnd::MessageBox()和::MessageBox(HWND)作用等同。