怎样让CEdit编辑框响应鼠标双击事件

 我来答
lilipat
高粉答主

2018-04-13 · 每个回答都超有意思的
知道大有可为答主
回答量:3万
采纳率:94%
帮助的人:5045万
展开全部
CEdit响应鼠标双击事件 (2012-02-06 22:13:07)转载▼
(1)重载PreTranslateMessage
重载主窗口的PreTranslateMessage函数就可以,判断是发给Edit控件的双击消息后把控件进行处理,如下:
BOOL CYourDlg::PreTranslateMessage(MSG* pMsg) { if (pMsg->hwnd == m_Edit.m_hWnd && pMsg->message == WM_LBUTTONDBLCLK) // do something return Cdialog::PreTranslateMessage(pMsg); } (2) 派生类: 从新派生一个CEdit类 在头文件中添加: //{{AFX_MSG(CMyEdit)
//NOTE-the ClassWizard will add and remove memb functions here.
afx_msg void OnLButtonDblClk( UINT nFlags, Cpoint point );
//}}AFX_MSG 在cpp文件中添加: BEGIN_MESSAGE_MAP(CMyEdit, CEdit)
//{{AFX_MSG_MAP(CMyEdit)
ON_WM_LBUTTONDBLCLK()
//}}AFX_MSG_MAP
END_MESSAGE_MAP() /////////////////////////////////////////////////////////////////////////////
//CmyEdit message handlers
void CmyEdit::OnLButtonDblClk(UINT nFlags, CPoint point)
{
//TODO: Add your message handler code here and/or call default
Cedit::OnLButtonDblClk(nFlags, point);
}

以上两种方法都可以,不过在定义EDIT控件变量是要将变量类型选为“CONTROL”类,然后选择CEDIT类或者自定义的类。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式