首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

在CEdit没法自动选中文字

2013-04-05 
在CEdit无法自动选中文字我想在CEdit中首先设为只读,并内置一个文本:搜一搜。当点击CEdit时,在OnSetfocusEd

在CEdit无法自动选中文字
我想在CEdit中首先设为只读,并内置一个文本:搜一搜。

当点击CEdit时,在OnSetfocusEdit1()函数里,将“搜一搜”选中,并将编辑框置为可写。

m_ctrEdit1.SetSel(0,-1);
m_ctrEdit1.SetReadOnly(FALSE);

但是全文选中没有效果,怎么办?

[解决办法]
This Code Works


class CMyEdit:public CWindowImpl<CMyEdit,CEdit>
{
DECLARE_WND_SUPERCLASS(NULL,CEdit::GetWndClassName())

BEGIN_MSG_MAP(CMyEdit)
MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
END_MSG_MAP()

LRESULT OnSetFocus(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
SetSelAll();
SetReadOnly(FALSE);
bHandled=FALSE;
return 1;
}
};

查看MSDN,如果你截获了SETFOCUS消息,你就要处理光标的显示.
所以请把光标的显示交给系统来做.

热点排行