读书人

怎么使CEdit响应鼠标单击使得CEdit的

发布时间: 2012-01-18 00:23:26 作者: rapoo

如何使CEdit响应鼠标单击,使得CEdit的文字处于被选中状态
为了实现这个目标,从CEdit派生出一个子类CNewEdit。然后响应鼠标左键单击事件OnLButtonDown,如下:

void CNewEdit::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
SetSel(0, -1);
CEdit::OnLButtonDown(nFlags, point);
}

然后在使用CEdit的对话框中把控件子类化。可是不行。。。

我也曾怀疑自己的问题,然后我尝试响应鼠标移动事件OnMouseMove,仍然是调用SetSel(0, -1)。这样就没有问题。但是OnMouseMove多少用起来不方便,不能输入多个字符,因为每输入一个字符就会全选,然后输入下一个会把以前的覆盖了。

请教一下,为什么响应鼠标左键单击事件不能选中文字?

[解决办法]
jf
[解决办法]
JF
[解决办法]
这种情况用不着重载。直接在父窗口中响应WM_LBUTTONDOWN,在里面SetSel(0, -1)就OK了。

楼上的两位太懒了,天道酬勤啊:)。
[解决办法]
不用重载
直接在窗口中响应
[解决办法]
给我
[解决办法]
不需要重载的,直接在父窗口中响应WM_LBUTTONDOWN就行了!

读书人网 >VC/MFC

热点推荐