簡體   English   中英

在MFC中從CMainFrame委派OnUpdate…消息

[英]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)

在我派生的CPaneDialog中,但這不起作用。

MFC使用命令路由將命令(和UI更新)獲取到可以處理它們的代碼。 如果您修復了路由,則這應同時處理粘貼命令和UI更新。

本文介紹了默認路由

本文介紹如何更改路由

基本上,您可以在框架中覆蓋OnCmdMsg ,然后在窗格中調用OnCmdMsg以查看其是否要處理該消息。 如果沒有,則調用基類進行標准處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM