真心求教,高手帮忙~消息传递的基本问题 问题是这样的,前一段时做了个分隔窗口的小程序。现在窗口分割好了,但是由于FRAME类和各个VIEW类之间的通信没有了,是自己另外做的(用的指针)。问题出来了,现在做的消息映射也不能传递过去,该怎么办? 结果是就没有检测到消息响应的函数,是不是也是用指针?怎么做求解 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 WM_COMMAND(NOTIFY)消息会最先传给Active的View,而不是你所有的View,这是很合理的,要不然,你点击一下鼠标,所有的View都接到消息,那启不乱了套?但是,如果你真想这样做,方法实在是太多了,如:1、重载CFrame的OnCmdMsgYourFrame::OnCmdMsg{CView* pActiveView = GetActiveView();for(遍历所有你的View,假如每次得到的结果是pView) { if(pView!=pActiveView ) pView->OnCmdMsg(nID, nCode, pExtra, pHandlerInfo); }if (CFrameWnd::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo)) //这里面会把消息送给pActiveView 以及其它地方 return TRUE; return FALSE;}2、你所有的View都派生于一个CBaseView,因为总会有一个View收到消息,故在这个里面放上分发消息的函数,3、所有的View、Frame、Doc等都不处理消息,消息的最后一站是CYourAPP,在这里面再次发送消息。4、所有的View都不处理消息,消息的下一站是Frame,在Frame里依次调用你所有的View to happyparrot: 我的映射关系是对的,我就是对其中一个类建立的映射关系,但是不能检测到。to oyljerry : 麻烦你能说的详细点吗?to simoreg : 谢谢,我回去试试。 VS2008生成的对话框为什么不能最上层显示 VS2005之前版本工程,转换到VS2005中 如何修改Tab控件的背景色! 为什么不能提取文本框中的值? 100分 求 <<图像编程精髓:从开发自己的 Photoshop 开始>> 电子版 什么情况下 窗口可以重绘。但是 系统提示程序没有响应? 高分求取DirectX SDK的详细开发文档.(急急!) 我创建的字体为什么没有变呢?大家帮我瞧瞧 我是菜鸟!Wire Transfer是怎么回事? 简单问题:如何初始化一个静态字符数组??? 十万火急!!!! 通过进程ID获取进程路径
但是,如果你真想这样做,方法实在是太多了,如:
1、重载CFrame的OnCmdMsgYourFrame::OnCmdMsg
{CView* pActiveView = GetActiveView();
for(遍历所有你的View,假如每次得到的结果是pView)
{
if(pView!=pActiveView ) pView->OnCmdMsg(nID, nCode, pExtra, pHandlerInfo); }if (CFrameWnd::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo))
//这里面会把消息送给pActiveView 以及其它地方
return TRUE; return FALSE;}
2、你所有的View都派生于一个CBaseView,因为总会有一个View收到消息,故在这个里面放上分发消息的函数,
3、所有的View、Frame、Doc等都不处理消息,消息的最后一站是CYourAPP,在这里面再次发送消息。
4、所有的View都不处理消息,消息的下一站是Frame,在Frame里依次调用你所有的View
to oyljerry : 麻烦你能说的详细点吗?
to simoreg : 谢谢,我回去试试。