●●●在同一个程序中两个菜单要执行的内容一样,如何发送SendMessage?

步履人生 2011-10-17 04:24:55
现在我有两个菜单,一个名字是ID_POP_TASK_NEW 和 ID_TASK_NEW,其中ID_POP_TASK_NEW是在一个快捷菜单中,而ID_TASK_NEW是在主菜单中。

我现在已经实现了在弹出菜单的响应事件的代码,主菜单ID_TASK_NEW的执行,我想直接通过SendMessage方式来直接调用ID_POP_TASK_NEW的响应,如何去发送这个消息?

我尝试了用下面的:
SendMessage(WM_COMMAND,(WPARAM)ID_POP_TASK_NEW,0);
但是没有任何反应。

另外需要说明的一点是:我的程序是多文档结构的,IP_POP_TASK_NEW只在对应的文档模板中才有的。
...全文
60 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
步履人生 2011-10-18
  • 打赏
  • 举报
回复
搞定,呵呵
m_pViewTask->SendMessage(WM_COMMAND, (WPARAM)ID_POP_TASK_NEW,0);
zjfhgdx 2011-10-18
  • 打赏
  • 举报
回复
在点击ID_TASK_NEW后直接调用ID_POP_TASK_NEW对应的函数不可以吗?
wltg2001 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 afxtian 的回复:]
ID_TASK_NEW在多文档CChildFrame中,ID_POP_TASK_NEW在继承余CFormView的CViewTaskData中。
[/Quote]
直接得到相关的指针,直接调用最好了。
tubo_true 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gameslq 的回复:]

不能确定你的弹出菜单的ID_POP_TASK_NEW处理放在那一层,是CView,还是CMDIChildWnd中?
如果在Cview中,并且你要发送WM_COMMAND消息也是在view中,则直接发送即可
C/C++ code
SendMessage(WM_COMMAND,(WPARAM)ID_POP_TASK_NEW,0);


如果要发送WM_COMMAND消息是在CDocume……
[/Quote]

up
步履人生 2011-10-18
  • 打赏
  • 举报
回复
ID_TASK_NEW在多文档CChildFrame中,ID_POP_TASK_NEW在继承余CFormView的CViewTaskData中。
sharptiger123 2011-10-18
  • 打赏
  • 举报
回复
OnCommand
步履人生 2011-10-18
  • 打赏
  • 举报
回复
ID_TASK_NEW在多文档CChildFrame中,ID_POP_TASK_NEW在继承余CFormView的CViewTaskData中。
gameslq 2011-10-17
  • 打赏
  • 举报
回复
不能确定你的弹出菜单的ID_POP_TASK_NEW处理放在那一层,是CView,还是CMDIChildWnd中?
如果在Cview中,并且你要发送WM_COMMAND消息也是在view中,则直接发送即可
SendMessage(WM_COMMAND,(WPARAM)ID_POP_TASK_NEW,0);

如果要发送WM_COMMAND消息是在CDocument中,则

//找出目标view(接受WM_COMMAND消息)
POSITION pos = GetFirstViewPosition();
while (pos != NULL)
{
CView* pView = GetNextView(pos);
pView->SendMessage(WM_COMMAND,(WPARAM)ID_POP_TASK_NEW,0);

}
yuucyf 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fandh 的回复:]
发一个消息,这个消息的响应,调用ID_POP_TASK_NEW的处理
[/Quote]
发送一个消息给ID_POP_TASK_NEW所在的文档,如何在该文档的消息响应函数中调用ID_POP_TASK_NEW的处理。

or

把ID_POP_TASK_NEW所要处理的功能设计成为一个函数,然后再主菜单ID_TASK_NEW和ID_POP_TASK_NEW的消息响应函数中都调用该函数.
fandh 2011-10-17
  • 打赏
  • 举报
回复
发一个消息,这个消息的响应,调用ID_POP_TASK_NEW的处理
Windows环境下32位汇编语言程序设计 第2版(罗文斌) 完整光盘内容,包含每章内容的完整代码 本光盘所包含目录的说明 根目录下的 *.pdf ;附录A、B、C的电子版文档 Chapter02\Test ;测试编译环境 Chapter03\HelloWorld ;Hello World Chapter04\FirstWindow ;用Win32汇编写第一个窗口 Chapter04\FirstWindow-1 ;用Win32汇编写第一个窗口 Chapter04\SendMessage ;窗口间的消息互发 Chapter04\SendMessage-1 ;窗口间的消息互发 Chapter05\Menu ;使用资源 - 使用菜单 Chapter05\Icon ;使用资源 - 使用图标 Chapter05\Dialog ;使用资源 - 使用对话框 Chapter05\Listbox ;使用资源 - 使用列表框 Chapter05\Control ;使用资源 - 使用子窗口控件 Chapter05\ShowVersionInfo ;使用资源 - 显示版本信息资源的程序 Chapter05\VersionInfo ;使用资源 - 使用版本信息资源 Chapter06\Timer ;定时器的使用 Chapter07\DcCopy ;在两个窗口的 DC 间互相拷贝屏幕 Chapter07\Clock ;模拟时钟程序 Chapter07\BmpClock ;用 Bitmap 图片做背景的模拟时钟程序 Chapter07\TestObject ;一些常见的绘图操作 Chapter08\CommDlg ;使用通用对话框 Chapter09\Toolbar ;使用工具栏 Chapter09\StatusBar ;使用状态栏 Chapter09\Richedit ;使用丰富编辑控件 Chapter09\Wordpad ;一个完整的文本编辑器例子 Chapter09\SubClass ;窗口的子类化例子 Chapter09\SuperClass ;窗口的超类化例子 Chapter10\MemInfo ;显示当前内存的使用情况 Chapter10\Fragment ;内存碎片化的演示程序 Chapter10\FindFile ;全盘查找文件的例子 Chapter10\FormatText ;文件读写例子 Chapter10\FormatText\FileMap ;使用内存映射文件进行文件读写的例子 Chapter10\MMFShare ;使用内存映射文件进行进程间数据共享 Chapter11\Dll\Dll ;最简单的动态链接库例子 - 编写 DLL Chapter11\Dll\MASM Sample ;最简单的动态链接库例子 - 使用 DLL Chapter11\Dll\VC++ Sample ;最简单的动态链接库例子 - 在VC++使用汇编编写的DLL Chapter11\KeyHook ;Windows 钩子的例子 - 监听键盘动作 Chapter11\RecHook ;Windows 日志记录钩子的例子 - 监听键盘动作 Chapter12\Counter ;有问题的程序 - 一个计数程序 Chapter12\Thread ;用多线程的方

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧