读书人

CRichEdit怎么响应鼠标事件

发布时间: 2012-01-29 21:39:32 作者: rapoo

CRichEdit如何响应鼠标事件?
关联了一个RichEdit的变量m_richEdit;
在初始化对话框中:
long event=m_richEdit.GetEventMask();
event|=ENM_MOUSEEVENTS;
m_richEdit.SetEventMask(event);

然后给RichEdit添加了一个响应NM_CLICK的函数结果仍然不能相应鼠标单击怎么回事啊?谢谢!

[解决办法]
在你的父窗口类中重写PreTranslateMessage虚函数,假定你的父类为对话框
BOOL CTestDlg::PreTranslateMessage(MSG* pMsg)
{



if( pMsg-> message == WM_LBUTTONDOWN )
{
HWND hWnd = ::GetFocus();
int iID = ::GetDlgCtrlID(hWnd);
if(iID == IDC_RICHEDIT1)
{
MessageBox( "RichEdit click! ");
}
}

return CDialog::PreTranslateMessage(pMsg);
}

读书人网 >VC/MFC

热点推荐