CEdit控件SetSel的问题. 我的窗口上有个CEdit控件,我想让它获得焦点的时候控件里自动是全部选中状态我在这个控件OnSetfocusg事件中执行SetSel(0, -1)为什么没有反应呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实本身已经是全部选中状态了,你所疑惑的只是选中了为什么不在选中的文本后着上蓝色的背景;你可以messagebox出来看看,是不是显示的是你setsel部分的内容 我想做的就是像WINDOWS的查找框那样,鼠标点一下还是全部选中状态跟UpdateData()无关吧? 你先将控件SetFocus(),然后在调用SetSel(),试试看 你的方法不会有问题,我测试了一下,应该是其他的方面造成的没有效果:BEGIN_MESSAGE_MAP(CCCCDlg, CDialog) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() //}}AFX_MSG_MAP ON_EN_SETFOCUS(IDC_EDIT1, OnEnSetfocusEdit1)END_MESSAGE_MAP()void CCCCDlg::OnEnSetfocusEdit1(){ m_Edit.SetSel(0, -1); //这样是没有问题的,会选中所有的内容} UpdateData()会改变光标状态 所以 要选择的话因在此之后 另外也像上面所说 你的方法是没有问题的 一定是其它地方错误你乎视了. 重载窗口类的PreTranslateMessage函数,加上下列代码(m_Edit是控件变量): if (pMsg->message == WM_LBUTTONDOWN) { if (pMsg->hwnd == m_Edit.m_hWnd && GetFocus() != (CWnd*)&m_Edit) { m_Edit.SetFocus(); return TRUE; } } 如果我用TAB键把焦点切换到控件. 这个代码还有用? 楼主同志 如果用TAB键把焦点切换到EDIT控件上,这段代码确实没用。不过用键盘切换焦点到EDIT控件上时,EDIT控件会自动把文字全部选中,不需要另外处理。LZ实际上要处理的只是鼠标点击切换。 求助,关于互斥变量的问题 在图片的一块区域实现文字输入,支持中文,支持自动横向滚动该怎么做啊 关于传递变量的一个简单问题 “Windows 98/ME”能否用Winsock2原始套接字获取目的IP是本机IP的TCP、UDP数据包?? 关于消息映射的一个复杂问题 要求自定义message祥解 新手提问?正确给分!up有分!参与有分(本人分可怜,别闲少!大家帮帮忙!一定给!) 帮帮忙,要跳楼了。 請問:.chm格式的簡體文檔如何在繁體系統下瀏覽? windump怎么才能抓到双方的通讯数据包? 我是新人没有积分,还望大侠教我线程的事 (HMENU)是什么意思?
你所疑惑的只是选中了为什么不在选中的文本后着上蓝色的背景;你可以messagebox出来看看,是不是显示的是你setsel部分的内容
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_EN_SETFOCUS(IDC_EDIT1, OnEnSetfocusEdit1)
END_MESSAGE_MAP()void CCCCDlg::OnEnSetfocusEdit1()
{
m_Edit.SetSel(0, -1); //这样是没有问题的,会选中所有的内容
}
UpdateData()会改变光标状态 所以 要选择的话因在此之后 另外也像上面所说 你的方法是没有问题的 一定是其它地方错误你乎视了.
if (pMsg->message == WM_LBUTTONDOWN)
{
if (pMsg->hwnd == m_Edit.m_hWnd && GetFocus() != (CWnd*)&m_Edit)
{
m_Edit.SetFocus();
return TRUE;
}
}
如果我用TAB键把焦点切换到控件. 这个代码还有用? 楼主同志