诡异问题之三 在程序中某段代码中,有:if(***)MessageBox("here is the root of the tree","",MB_OK);竟然报告说:'MessageBoxA' : function does not take 3 parameters明显是睁眼说瞎话嘛.你认为这是怎么回事呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你检查一下是不是使用这个MessageBox函数了MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType); int MessageBox( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType);上面要改成:if(***)MessageBox(NULL,"here is the root of the tree","",MB_OK); 最好是if(***) ::MessageBox(NULL,"here is the root of the tree","",MB_OK); CWnd::MessageBoxint MessageBox( LPCTSTR lpszText, LPCTSTR lpszCaption = NULL, UINT nType = MB_OK );你可能不是在CWnd或CWnd的继承类中使用,所以调用的并不是CWnd::MessageBox或者你可以改用AfxMessageBox。AfxMessageBox int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 );int AFXAPI AfxMessageBox( UINT nIDPrompt, UINT nType = MB_OK, UINT nIDHelp = (UINT) -1 ); 因为你在全局中调用的这个函数,是不行的一般我们在使用这个函数的时候调用的是CWnd的,所以只有三个参数,如果在非这个类或其子类下调用,当然就会使用全局4个参数的MessageBox了解决办法很简单MFC专门为了解决这个框架窗口问题,制做了一系列Afx开头的框架函数...即使用:AfxMessageBox(); wtl下webbrowser的焦点 在串口RS485传送资料时遇到的奇怪问题! 求助,serialport类的串口通讯上位机,怎么对接收到的数据进行处理? 选用Java applet还是ActiveX开发 弱问题:窗口分割后如何得到分割后各个窗口的句柄? 如何杀死98下一个没有界面的程序 WSAEventSelect模型问题,郁闷………………! 如何从c盘跟目录下遍历文件? 创建两个线程读写串口 你知道就得分! ----> 急问:如何在对话框程序中加入状态栏 请问怎样得到一个文件的最后修改时间?
LPCTSTR lpText,
LPCTSTR lpCaption,
UINT uType
);上面要改成:
if(***)MessageBox(NULL,"here is the root of the tree","",MB_OK);
if(***)
::MessageBox(NULL,"here is the root of the tree","",MB_OK);
int MessageBox( LPCTSTR lpszText, LPCTSTR lpszCaption = NULL, UINT nType = MB_OK );你可能不是在CWnd或CWnd的继承类中使用,所以调用的并不是CWnd::MessageBox
或者你可以改用AfxMessageBox。AfxMessageBox
int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 );
int AFXAPI AfxMessageBox( UINT nIDPrompt, UINT nType = MB_OK, UINT nIDHelp = (UINT) -1 );
MFC专门为了解决这个框架窗口问题,制做了一系列Afx开头的框架函数...即使用:AfxMessageBox();