照书做个简单程序,菜单上增加一个菜单项,按一下就会弹出个对话框,上面写着“菜单快捷实例”。
填写的成员函数:
void CMenuAcceDoc::OnMenuacce()
{
// TODO: Add your command handler code here
MessageBox("菜单快捷实例");
}
抱错:error C2660: 'MessageBoxA' : function does not take 1 parameters
Error executing cl.exe.
我把MessageBox改为MessageBoxA,同样的报错信息。
搞不懂,请大虾指点一二。
填写的成员函数:
void CMenuAcceDoc::OnMenuacce()
{
// TODO: Add your command handler code here
MessageBox("菜单快捷实例");
}
抱错:error C2660: 'MessageBoxA' : function does not take 1 parameters
Error executing cl.exe.
我把MessageBox改为MessageBoxA,同样的报错信息。
搞不懂,请大虾指点一二。
我的错误是如何引起的呢?大虾能否告之,不胜感激。
MessageBox函数是CWnd的方法,可以这么用 看你的类既然叫CMenuAcceDoc,我猜是继承自CDocument(搂主没说明),CDocument不是继承自CWnd的,因此没有MessageBox方法.如果直接调用MessageBox,这里我不太明白,这时系统到底是调用的哪个MessageBox方法呢? 改成AfxMessageBox是调用全局函数.我以前遇到过这种问题,新菜单不是不起作用了,只是谈出来的消息盒你没看到而已.用AfxMessageBox由于没有父窗口,因此弹出来的窗口是最上层的,可能会被程序的窗口档住,你把程序窗口拖动以下,应该就能看到弹出的box了吧.
想不到真有MessageBoxA方法。
谢谢大家。
还有吗,请大家畅所欲言,就在这相互交流一下吧。
调用api中的messagebox
文档类估计是没有MessageBox方法,所以系统误认为我用的是多参数的MessageBox方法,出现上面的报错信息。
文档类下用AfxMessageBox确实是出现灰色的。原因可能是没有
ON_COMMAND(IDC_XXXX_XXXX, OnMenuacce),不过我不知道该加到哪个文件中?IDC_XXXX_XXXX指的是不是我添加的按钮ID?