Mfc 塞迪特,西莫酱

Mfc 塞迪特,西莫酱,mfc,copy-paste,cedit,Mfc,Copy Paste,Cedit,假设我在CEdit子代中有一个wm_粘贴消息的处理程序: LRESULT CMyEdit::OnPaste(WPARAM wParam, LPARAM lParam) { //do some processing return 0; } 假设在某些情况下,我希望触发粘贴的默认行为 从这个方法。我该怎么做?CEdit::OnPaste不存在 欢呼呼叫,传递它WM_-PASTE,wParam和lParam 通常,基类中的OnXxx处理程序由调用DefWindowProc的单行组成——如果存在CEd

假设我在CEdit子代中有一个wm_粘贴消息的处理程序:

LRESULT CMyEdit::OnPaste(WPARAM wParam, LPARAM lParam)
{
//do some processing
return 0;
}
假设在某些情况下,我希望触发粘贴的默认行为 从这个方法。我该怎么做?CEdit::OnPaste不存在

欢呼

呼叫,传递它
WM_-PASTE
wParam
lParam


通常,基类中的
OnXxx
处理程序由调用
DefWindowProc
的单行组成——如果存在
CEdit::OnPaste
,它就是这样做的。

您也可以简单地调用CWnd::Default。此函数在wincore.cpp中定义,使用_afxThreadState.GetData()获取当前正在处理的消息的信息,然后调用CWnd::DefWindowProc

我提到这一点是因为如果在消息映射中使用ON_WM_PASTE()宏,因此OnPaste函数没有参数,那么Tim Robinson提到的解决方案将无法工作,因为没有wParam和lParam参数可以传递给CWnd::DefWindowProc