我希望文本框的焦点始终在文本的最后,用GetSel()函数来控制焦点。
先申请一个CEdit型的变量m_RXEdit。然后在我写文本的地方加如后面两句
DWORD dwSel = m_RXEdit->GetSel();
m_RXEdit->SetSel(HIWORD(dwSel), HIWORD(dwSel)+1);
但是发现dwSel怎么读都读的是0。依然控制不到焦点。请问哪个地方控制错了?另外我可以在文本框的 change事件中加代码吧,是哪个呢,我在en_change里加的这个事件一直执行不到,谢谢。
先申请一个CEdit型的变量m_RXEdit。然后在我写文本的地方加如后面两句
DWORD dwSel = m_RXEdit->GetSel();
m_RXEdit->SetSel(HIWORD(dwSel), HIWORD(dwSel)+1);
但是发现dwSel怎么读都读的是0。依然控制不到焦点。请问哪个地方控制错了?另外我可以在文本框的 change事件中加代码吧,是哪个呢,我在en_change里加的这个事件一直执行不到,谢谢。
解决方案 »
- 如何自定义用户消息
- 请问如何写一个虚拟显示器驱动程序?
- 雪地跪求,怎么用com禁止页面的聊天室 写字板 上传文件 和邮件
- 关于客户区坐标的问题
- generic class和mfc class和form class有何区别?
- 如何获得一个PICTURE控件在屏幕中的具体坐标值(相对于屏幕左上角顶点的)?请指教啊,解决送100分
- 如何在一个FormView里嵌入ScrollView
- 如何在单机上调试网络程序?
- MFC窗口显示之后,启动下载文件的程序,代码写在哪里?
- 如何把chm文档转换为很多html文档
- 有直接可以寻找某字符串首或尾在文本文件中的指针位置的可用函数吗?
- Winsock 收发数据问题,高手帮忙!
m_edit1.GetWindowText(strEdit);
m_edit1.SetSel(strEdit.GetLength(), strEdit.GetLength());
真的要实现你说的功能的话,可以在Edit得到焦点的时候,在OnpreTranslatemessage中屏蔽掉左右移动的按键(这是硬办法),在Edit失去焦点时取消.
m_edit1.GetWindowText(strEditText);
m_edit1.SetSel(strEditText.GetLength(), strEditText.GetLength());
m_Edit.SetWindowText(str);
m_Edit.SetSel(str.GetLength(),str.GetLength());
m_Edit.SetFocus();
UpdateWindow();