各位vc++高手,怎样把编辑框中的光标移动到编辑框中字符的最后面?

来源:百度知道 编辑:UC知道 时间:2024/06/21 07:56:09
编程工具vc++6.0,用sendwindowtext来向编辑框中发送文本消息的,但是光标始终在前面,视觉效果不太好....还是个密码框....setcaretpos(编辑框字符的长度)行不通,有没有什么函数可以直接把光标放到最后面?困惑啊!!请诸位多多帮忙!

你既然能用SetWindowText设置文本,肯定知道编辑框的窗口句柄了,其实很简单:
HWND hwndPassword; // 你的密码框的窗口句柄
::SetWindowText( hwndPassword, "password" );
::SendMessage( hwndPassword, WM_KEYDOWN, VK_END, 0 );
::SetFocus( hwndPassword); // 不自动激活就没有意义了,因为编辑框在鼠标点击激活的时候,光标在用户点击的位置,TAB键激活时会自动全选

先取得字符串长度nLength,再运行SetSel(nLength, nLength);