自定义菜单 ON_COMMAND
我编写的是多文档的程序,想更改菜单功能:BEGIN_MESSAGE_MAP(Ccontent_basedIRApp, CWinApp)
ON_COMMAND(ID_APP_ABOUT, &Ccontent_basedIRApp::OnAppAbout)
// 基于文件的标准文档命令
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
END_MESSAGE_MAP()
想请教怎样将菜单响应为自己的对话框:Fileopen::Fileopen(),而不是OnFileOpen
自己尝试这样写:
ON_COMMAND(ID_FILE_OPEN, CWnd::FindWindow(Fileopen::Fileopen(0),NULL)),
但是编译时候出错: C2664: “CWnd::FindWindowW”: 不能将参数 1 从“Fileopen”转换为“LPCTSTR”
小弟有礼了!谢谢
--------------------编程问答-------------------- 在你的主窗口的.cpp文件中这样写
BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
ON_COMMAND(ID_FILE_NEW, OnFileNew)
END_MESSAGE_MAP()
......
void MyDlg::OnFileNew()
{
CMyDlg MyDlg;
MyDlg.DoModal();
} --------------------编程问答-------------------- 链接时候还是会出错……
ileopen.obj : error LNK2005: "protected: virtual struct AFX_MSGMAP const * __thiscall Fileopen::GetMessageMap(void)const " (?GetMessageMap@Fileopen@@MBEPBUAFX_MSGMAP@@XZ) 已经在 content_basedIR.obj 中定义 --------------------编程问答-------------------- 把这个消息映射为public不要设为protected试一下 --------------------编程问答-------------------- 学习中。。。。。。。。 --------------------编程问答-------------------- 重写一下CWinApp::OnFileOpen()函数,里边调用对话框的Fileopen::Fileopen()函数 --------------------编程问答-------------------- 1.如果你不新建个菜单,则你重写CWinApp::OnFileOpen()函数
2.如果你新建个菜单,则可以添加这个打开菜单的消息响应函数.这个响应函数就是你自己定义的 --------------------编程问答--------------------
在你自己的对话框里面增加上面的代码,不是在主窗口 --------------------编程问答-------------------- 你的宏写得不全。
补充:.NET技术 , VC.NET