当前位置:编程学习 > C#/ASP.NET >>

自定义菜单 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.如果你新建个菜单,则可以添加这个打开菜单的消息响应函数.这个响应函数就是你自己定义的 --------------------编程问答--------------------
引用 1 楼 meixiaoguang 的回复:
在你的主窗口的.cpp文件中这样写
BEGIN_MESSAGE_MAP(CMyDlg,   CDialog)
                      ON_COMMAND(ID_FILE_NEW,   OnFileNew)
END_MESSAGE_MAP()
......
void   MyDlg::OnFileNew()
{
            CMyDlg   MyDlg……


在你自己的对话框里面增加上面的代码,不是在主窗口 --------------------编程问答-------------------- 你的宏写得不全。
补充:.NET技术 ,  VC.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,