委托OnUpdate . .消息从CMainFrame在MFC
Delegating OnUpdate... messages from CMainFrame in MFC
我正在使用MFC,并有一个主框架,它从工具栏接收WM_PASTE, WM_COPY消息等。我要做的是将此消息传递给具有焦点的CPaneDialog,因为这是我想要粘贴的文本的位置。
我已经知道如何发送消息到正确的视图,通过使用这个:
void CMainFrame::OnEditPaste()
{
GetFocus()->SendMessage(WM_PASTE, 0);
}
我现在要做的是询问表单是否可以接收粘贴消息。我想我可以通过传递命令ui消息来做到这一点……但我该怎么做呢?
void CMainFrame::OnUpdateEditPaste(CCmdUI *pCmdUI)
{
if(GetFocus())
{
GetFocus()->???
}
}
如果有更好的方法,也请告诉我。
我试过了
ON_UPDATE_COMMAND_UI(ID_EDIT_PASTE, &CDerivedPaneDialog::OnUpdateEditPaste)
MFC使用命令路由将命令(和UI更新)获取到可以处理它们的代码。如果你修复了路由,这应该可以处理粘贴命令和UI更新。
本文描述了默认路由。
这篇文章描述了如何修改路由。
基本上,你在你的框架中覆盖OnCmdMsg
,并调用面板中的OnCmdMsg
,看看它是否想要处理消息。如果没有,则调用基类来执行标准处理。
相关文章:
- C++ MFC Libraries in Travis CI
- 从 bmp 文件数据创建 MFC CBitmap
- 如何在 MFC 中显示文件的所有行
- 目录删除 MFC 的问题
- MFC:如何设置CEdit框的焦点?
- MFC 中的抗锯齿
- 双击更改 mfc 中列表控件中的行的颜色
- C++MFC编辑框处理双击
- C++ MFC CObject 派生类摘要?
- 如何在 MFC 对话框中使用 OnDraw
- 在 1 个服务器 n 客户端套接字 C++ MFC 应用程序中更新数据的客户端
- MFC:你能在CDateTimeCtrl中改变自旋的加速度吗?
- MFC:我们如何轻松地从CTreeCtrl切换到CTreeView?
- __int64 CString 返回错误的值 - C++ MFC
- 如何在MFC中的静态文本控件上插入图标?
- 使用 MFC 的表/网格
- mfc应用程序结束后,CMainFrame的析构函数调用发生访问冲突
- MFC停靠对话框在外部/不在CMainFrame中
- MFC:从ChildView访问CMainFrame的CImageList
- 委托OnUpdate . .消息从CMainFrame在MFC