类别选“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);
- }