类别选“MFC”,模板选择“MFC类”,选好后,点击“添加(A)”按钮得到下面界面。

在CEditEx类中,重写PreTranslateMessage函数,为了支持双击全选功能,我们同时处理WM_LBUTTONDBLCLK消息,这样在Edit中通过双击也可以实现全选功能了。具体代码如下:
- BOOL CEditEx::PreTranslateMessage(MSG* pMsg)
- {
- if(pMsg->message == WM_KEYDOWN)
- {
- BOOL b = GetKeyState(VK_CONTROL) & 0×80;
- if(b && (pMsg->wParam==’a'||pMsg->wParam==’A'))
- {
- SetSel(0,-1);
- return TRUE;
- }
- }
- return CEdit::PreTranslateMessage(pMsg);
- }
- void CEditEx::OnLButtonDblClk(UINT nFlags, CPoint point)
- {
- SetSel(0,-1);
- }
本文介绍了如何在CEditEx类中重写PreTranslateMessage函数,实现支持双击全选功能,使得在Edit中通过双击也能实现全选操作。此外,还详细阐述了如何在对话框中为需要支持Ctrl+A全选功能的Edit添加一个CEditEx类型的控件变量,使功能生效。

1214

被折叠的 条评论
为什么被折叠?



