如何获得窗体内焦点所在控件的指针?

钞票搬运工 2013-04-26 10:30:48
我想知道可以通过什么方法获得在一个窗体内焦点所在的控件的指针,也就是鼠标所在的控件的指针。请高手赐教,谢谢!
...全文
103 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓝色光芒 2013-04-26
  • 打赏
  • 举报
回复
本进程的可以,其他进程的,由于不知道其他进程的结构,所以可以说无效. 如果是本进程内的,可以给这个HWND发送一个消息来得到这个对象的指针(TObject)
酣酣 2013-04-26
  • 打赏
  • 举报
回复
鼠标的话应该是这样!

type
  TControlAccess = class(TControl);
  ……
  for I := 0 to ComponentCount - 1 do begin
    if Components[I] is TWinControl then begin
      if TControlAccess(Components[I]).MouseCapture then begin
        //
      end;
    end;
  end;
随行的太阳 2013-04-26
  • 打赏
  • 举报
回复
句柄吧!!!
feiba7288 2013-04-26
  • 打赏
  • 举报
回复
引用 2 楼 lengyuehui 的回复:

  for I := 0 to ComponentCount - 1 do begin
     if Components[I] is TWinControl then begin
       if TWinControl(Components[I]).Focused then 
           ……
     end;
  end;
是获取其他程式的吧。。。
酣酣 2013-04-26
  • 打赏
  • 举报
回复

  for I := 0 to ComponentCount - 1 do begin
     if Components[I] is TWinControl then begin
       if TWinControl(Components[I]).Focused then 
           ……
     end;
  end;
feiba7288 2013-04-26
  • 打赏
  • 举报
回复
指针获取不到,句柄就可以。

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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