如何实现其他程序中输入框获得焦点

witking 2009-02-13 07:33:58
窗口句柄已知道,Edit输入框的句柄也知道了,比如Edit的文本是:123456789,我想通过发送消息将其最后3个字符设成选中状态,而不是全部文本都选中,我只知道一般通过sendmessage或者postmessage来实现,具体如何写????
...全文
116 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdzwj 2009-02-13
  • 打赏
  • 举报
回复
后面的两个参数是依据消息来确定的(也就是第二个参数),不同的消息就有不同的定义,你在应用时不清楚的话可以查一下MSDN就很清楚了
witking 2009-02-13
  • 打赏
  • 举报
回复
谢谢,试了可以,,

能详细讲下sendmessage后面2个参数如何应用吗,
bdzwj 2009-02-13
  • 打赏
  • 举报
回复

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const EM_SETSEL = &HB1
Private Const WM_GETTEXTLENGTH = &HE
Private Const WM_SETFOCUS = &H7

Private Sub Command1_Click()
Dim nLen As Long
nLen = SendMessage(lWnd, WM_GETTEXTLENGTH, 0, 0)
SendMessage lWnd, WM_SETFOCUS, 0, 0
SendMessage lWnd, EM_SETSEL, nLen - 3, -1
End Sub


1,488

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧