2013-10-02 82 views
0

我們在VS2010中使用包含CMFCToolBarEditBoxButton的CMFCToolBar的MFC SDI應用程序。當用戶將某些東西粘貼到編輯框中時,是否有辦法處理粘貼事件?在CMFCToolBarEditBoxButton中捕獲粘貼事件

我們在主窗口中處理ON_COMMAND(ID_EDIT_PASTE, OnEditPaste),但當焦點位於CMFCToolBarEditBoxButton內部時,粘貼消息沒有增加。

回答

0

從MFC Sources [afxtoolbareditboxbutton.cpp],它看起來像底層CMFCToolBarEditCtrl的'Paste()'函數在Ctrl-V期間直接調用,'Paste()'成員函數只發送WM_PASTE到編輯窗口。

可以嘗試做一個處理程序WM_PASTE

This SO Answer有一個如何做到這一點的例子。

+0

我無法弄清楚如何將處理程序附加到已在CMFCToolBarEditBoxButton內部創建的CEdit中,或者創建不同的CEdit或其他可以處理WM_PASTE的按鈕的子類。有任何想法嗎?謝謝! – sleepp

+0

你可以重寫'CMFCToolBarEditBoxButton :: CreateEdit()'[MFC Source afxtoolbareditboxbutton.cpp]並提供你自己的CEdit派生類,你可以在那裏處理WM_PASTE? –