关于获取焦点的问题。

wangk 2003-09-12 08:53:14
弟兄们来讨论一下:
1.如何获得拥有输入焦点的控件或Edit的句柄。
2.如何使不能粘贴字符的Edit可以粘贴。(如三国志9的登陆武将名称的编辑框)
...全文
91 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
CCLIS 2003-09-17
  • 打赏
  • 举报
回复
HWND GetFocus(VOID)

整个系统同时只能有一个EDIT在接收键盘输入
jerrymousenet2 2003-09-17
  • 打赏
  • 举报
回复
试试先取得那个程序的进程,再用以上的各位的方法。
IAMCDYY2003 2003-09-17
  • 打赏
  • 举报
回复
恐怕只有HOOK
wangk 2003-09-17
  • 打赏
  • 举报
回复
ccrun(老妖)(www.ccrun.com)兄请注意
不是要让某编辑框获得焦点,
是获得已拥有焦点的编辑框句柄。
ccrun.com 2003-09-16
  • 打赏
  • 举报
回复
应该可以通过枚举窗口的办法来找到你要的编辑框的句柄。
ccrun.com 2003-09-16
  • 打赏
  • 举报
回复
找到该编辑框的句柄,然后发送 WM_SETFOCUS 消息。
wangk 2003-09-15
  • 打赏
  • 举报
回复
哦还有,不使用鼠标获取的。
用鼠标我可以得到。现在探讨除了Hook和鼠标外的获取方法。
wangk 2003-09-15
  • 打赏
  • 举报
回复
这个只能用于自己写的程序啊。
如何获得其他程序的编辑框ID???
chen_pin 2003-09-14
  • 打赏
  • 举报
回复
Up it
luminrong 2003-09-14
  • 打赏
  • 举报
回复
GetDlgItem(编缉框ID)->SetFocus();就行了
lygfqy 2003-09-12
  • 打赏
  • 举报
回复
gz
wangk 2003-09-12
  • 打赏
  • 举报
回复
老兄,GetFcus()不能取其他程序的输入焦点的控件或Edit的句柄。
papaya_stone 2003-09-12
  • 打赏
  • 举报
回复
GetFocus();
Viconia 2003-09-12
  • 打赏
  • 举报
回复
up
wangk 2003-09-12
  • 打赏
  • 举报
回复
vcforever(霓裳羽衣):
1.查一下MSDN他会告诉你,GetFocus()只能取进程空间的焦点控件。
我还加试过AttatchProcessInput(),但是没成功。大家有什么高见?
之所以这个不用Hook,因为Hook占的资源大。
2.我已经明白了,谢谢大家的捧场。
vcforever 2003-09-12
  • 打赏
  • 举报
回复
1、用GetFocus()函数返回拥有焦点的控件的指针!
2、用HOOK,在HOOK的处理函数中再处理一下Ctrl+v
wangk 2003-09-12
  • 打赏
  • 举报
回复
kingzai(kingzai) 说的hook的方法偶也考虑过,
只是想知道有没有其他简单的方法。在这里先谢谢 kingzai(kingzai) 的回答。
2是不行的,对方的Style完全没问题,好像是重写了响应函数,按下Ctrl+v后是
响声报警(Beep)不知该如何搞定?
kingzai 2003-09-12
  • 打赏
  • 举报
回复
1.you can use hook,such as using CBTProc,set nCode HCBT_SETFOCUS.
2.get this edit window handle ,then use ModifyStyle

1,221

社区成员

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

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