社区
Delphi
帖子详情
怎样得到当前focus的和标题?
wai_lf
2000-07-27 06:49:00
delphi中,我想得到当前focus(例如,form上有个pagecontrol,pagecontrol中有个panel,panel上有许多tdbedit,若focus在某个tdbedit上,怎样得到句柄和标题)。
...全文
139
8
打赏
收藏
怎样得到当前focus的和标题?
delphi中,我想得到当前focus(例如,form上有个pagecontrol,pagecontrol中有个panel,panel上有许多tdbedit,若focus在某个tdbedit上,怎样得到句柄和标题)。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
icewind
2000-08-04
打赏
举报
回复
Wind API GetFocus可以得到句柄
Wingsun
2000-07-28
打赏
举报
回复
Form.ActiveControl可以得到当前的FocusControl
wsf
2000-07-28
打赏
举报
回复
pagecontrol.ActivePageIndex:=0
在0页上的edit1获的焦点:edit1.setfocus;
Wingsun
2000-07-28
打赏
举报
回复
通过
ActiveControl.ClassType
ActiveControl.ClassName
ActiveControl.ClassNameIs
ActiveControl.ClassInfo
返回RTTI信息。不就知道了吗。
JGTM2000
2000-07-28
打赏
举报
回复
用Delphi的RTTI。判断可以用if Form.ActiveControl is TButton then之类。。。
meijg
2000-07-28
打赏
举报
回复
那我如何知道,现在获得焦点的控件的类型呢,请教wingsun
Wingsun
2000-07-28
打赏
举报
回复
不可能的,你是如何写的?
我是这样写的,假设他们都是TEdit.
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption:=IntTostr((ActiveControl as TEdit).Handle);
end;
procedure TForm1.Edit1Enter(Sender: TObject);
begin
Label2.caption:=intToStr((sender as TEdit).Handle);
end;
wai_lf
2000-07-28
打赏
举报
回复
我检查过,并打印过form.activecontrol的handle,和当前得到focus的control的handle,
两者不一样。
焦点「
FOCUS
」-crx插件
FOCUS
将您喜爱的博客的新闻
标题
和更新放在一个紧凑,可读和简约的框中。 你是否每天访问5,10,15或更多的网站来检查新内容和帖子。这不是很费时 ★呈现焦点 - 最好的RSS通知★ 安装它,并获得所有新的内容,并以一个美丽的方式,一次。它可以节省时间,并以其漂亮的界面取悦你。 它显示新的内容
标题
和内容发布的时间 - 哇! “简单是最终的复杂。” 达·芬奇就是这样说的。 ★特点★ :check_mark:快速高效。 :check_mark:美丽的用户界面。 :check_mark:自动检测任何网站的Feed URL。 :check_mark:不需要安装。 :check_mark:过滤器来分类内容。 ★入门指南(强烈推荐)★ 要开始,你需要添加一些网站来跟踪。要做到这一点转到[设置] - > [添加新网站],然后输入您要跟踪的网站的网址,例如“Techcrunch.com”,然后单击[保存]。或者您可以通过单击选项栏上的[+]符号来添加
当前
打开的网站。 是啊!启动
FOCUS
[ing]。 ★现在下载!!★ 支持语言:English
#资源达人分享计划# clsWindow2.2_20200317窗口图钉设置窗口置顶.zip
'============================================================================================== '名 称:windows窗体控制类v2.2 '描 述:一个操作windows窗口的类,可对窗口进行很多常用的操作(类名为clsWindow) '使用范例:Dim window As New clsWindow ' window.GetWindowByTitle("计算器").closeWindow '编 程:sysdzw 原创开发,如果有需要对模块扩充或更新的话请邮箱发我一份,共同维护 '发布日期:2013/06/01 '博 客:https://blog.csdn.net/sysdzw '用户手册:https://www.kancloud.cn/sysdzw/clswindow/ 'Email :sysdzw@163.com 'QQ :171977759 '版 本:V1.0 初版 2012/12/03 ' V1.1 修正了几个正则相关的函数,调整了部分类结构 2013/05/28 ' V1.2 增加属性Caption,可以获取或设置
当前
标题
栏 2013/05/29 ' V1.3 增加了方法
Focus
,可以激活
当前
窗口 2013/06/01 ' 增加了方法Left,Top,Width,Height,Move,处理窗口位置等 ' V1.4 增加了窗口位置调整的几个函数 2013/06/04 ' 增加了
得到
应用程序路径的函数AppName ' 增加了
得到
应用程序启动参数的函数AppCommandLine ' V1.5 增加了窗口最大最小化,隐藏显示正常的几个函数 2013/06/06 ' 增加了获取控件相关函数是否使用正则的参数UseRegExp默认F ' V1.6 将Left,Top函数改为属性,可获得可设置 2013/06/10 ' V1.7 增加函数:CloseApp 结束进程 2013/06/13 ' 修正了部分跟正则匹配相关的函数 ' 增加函数:GetElementTextByText ' 增加函数:GetElementHwndByText ' V1.8 增加函数:GetWindowByClassName 2013/06/26 ' 增加函数:GetWindowByClassNameEx ' 增加函数:GetWindowByAppName ' 增加私有变量hWnd_ ' 增加属性hWnd,可设置,单设置时候会检查,非法则设置为0 ' 更新GetWindowByTitleEx函数,使之可以选择性支持正则 ' 删除GetWindowByTitleRegExp函数,合并到上面函数 ' 增加Set
Focus
函数,调用
Focus
实现,为了是兼容VB习惯 ' 扩了ProcessID、AppPath、AppName、AppCommandLine三个函数,可带参数 ' 网友wwb(wwbing@gmail.com)提供了一些函数和方法属性: ' CheckWindow, Load, WindowState, Visible, hDC, ZOrder ' AlphaBlend, Enabled,
#资源达人分享计划# clsWindow2.2_最新版
'============================================================================================== '名 称:windows窗体控制类v2.2 '描 述:一个操作windows窗口的类,可对窗口进行很多常用的操作(类名为clsWindow) '使用范例:Dim window As New clsWindow ' window.GetWindowByTitle("计算器").closeWindow '编 程:sysdzw 原创开发,如果有需要对模块扩充或更新的话请邮箱发我一份,共同维护 '发布日期:2013/06/01 '博 客:https://blog.csdn.net/sysdzw '用户手册:https://www.kancloud.cn/sysdzw/clswindow/ 'Email :sysdzw@163.com 'QQ :171977759 '版 本:V1.0 初版 2012/12/03 ' V1.1 修正了几个正则相关的函数,调整了部分类结构 2013/05/28 ' V1.2 增加属性Caption,可以获取或设置
当前
标题
栏 2013/05/29 ' V1.3 增加了方法
Focus
,可以激活
当前
窗口 2013/06/01 ' 增加了方法Left,Top,Width,Height,Move,处理窗口位置等 ' V1.4 增加了窗口位置调整的几个函数 2013/06/04 ' 增加了
得到
应用程序路径的函数AppName ' 增加了
得到
应用程序启动参数的函数AppCommandLine ' V1.5 增加了窗口最大最小化,隐藏显示正常的几个函数 2013/06/06 ' 增加了获取控件相关函数是否使用正则的参数UseRegExp默认F ' V1.6 将Left,Top函数改为属性,可获得可设置 2013/06/10 ' V1.7 增加函数:CloseApp 结束进程 2013/06/13 ' 修正了部分跟正则匹配相关的函数 ' 增加函数:GetElementTextByText ' 增加函数:GetElementHwndByText ' V1.8 增加函数:GetWindowByClassName 2013/06/26 ' 增加函数:GetWindowByClassNameEx ' 增加函数:GetWindowByAppName ' 增加私有变量hWnd_ ' 增加属性hWnd,可设置,单设置时候会检查,非法则设置为0 ' 更新GetWindowByTitleEx函数,使之可以选择性支持正则 ' 删除GetWindowByTitleRegExp函数,合并到上面函数 ' 增加Set
Focus
函数,调用
Focus
实现,为了是兼容VB习惯 ' 扩了ProcessID、AppPath、AppName、AppCommandLine三个函数,可带参数 ' 网友wwb(wwbing@gmail.com)提供了一些函数和方法属性: ' CheckWindow, Load, WindowState, Visible, hDC, ZOrder ' AlphaBlend, Enabled, R
Windows窗口自动化操作类forVB6_V1.9beta clsWindow源码
clsWindow类使用说明 clsWindow是VB6环境下使用的一个操作外部程序窗口的类,比如
得到
窗口句柄,
得到
窗口里某个文本框的内容。非常方便,使用它可以让您脱身于一堆api函数,功能强大使用简单! 这个类楼主很早就开始封装了,原本打算做成类似DOM对象那样,通过一堆getElmentByXXX等方法实现对桌面程序下各个窗口以及里面各个控件对象的自由访问,但是具体要做的工作太多,目前只实现了一部分,期待大家一起加入更新维护。 目前该类封装了绝大部分对windows窗口的常用操作,例如:获取窗口句柄,设置窗口为活动窗口,设置窗口内文本框内容,点击窗口内的某些按钮等。 这个类现在还在一直不断地扩充,功能已经很强大很广泛,使用它可以轻而易举地设置窗口
标题
栏文字,移动窗体等等。以前要实现这些操作常常需要一大堆api函数,现在只需要一点点代码就可以了,完全让您脱身于api函数的海洋。当然您如果想知道里面的方法实现原理的话可以看一看源代码。 使用范例: 1)关闭腾讯新闻窗口“腾讯网迷你版”。 Dim window As New clsWindow If window.GetWindowHwndByTitle("腾讯网迷你版") > 0 Then window.CloseWindow '关闭窗口 End If 以上是不是很简洁呢? 2)获取某个打开的记事本里面的内容。假设记事本
标题
为“测试.txt - 记事本”,通过SPY等工具查看得知记事本的文本框类名为:Edit,那么我们编写程序如下: Dim window As New clsWindow If window.GetWindowHwndByTitle("测试.txt - 记事本") > 0 Then MsgBox window.GetElementTextByClassName("Edit") End If 这个看起来也很简单,方法自由还可以使用正则匹配,可以写成下面这样: Dim window As New clsWindow If window.GetWindowHwndByTitleRegExp("测试\.txt.*?") > 0 Then MsgBox window.GetElementTextByClassName("Edi", , True)'第三个参数表示是否使用正则,默认为false End If clsWindow类最新版下载请关注博客: http://blog.csdn.net/sysdzw/article/details/9083313 '======================================================================= '描 述:一个操作windows窗口的类,可对窗口进行很多常用的操作(类名为clsWindow) '使用范例:Dim window As New clsWindow ' window.GetWindowByTitle "计算器" ' window.closeWindow '编 程:sysdzw 原创开发,如果有需要对模块扩充或更新的话请邮箱发我一份,共同维护 '发布日期:2013/06/01 '博 客:http://hi.baidu.com/sysdzw ' http://blog.csdn.net/sysdzw 'Email :sysdzw@163.com 'QQ :171977759 '版 本:V1.0 初版 2012/12/03 ' V1.1 修正了几个正则相关的函数,调整了部分类结构 2013/05/28 ' V1.2 增加属性Caption,可以获取或设置
当前
标题
栏 2013/05/29 ' V1.3 增加了方法
Focus
,可以激活
当前
窗口 2013/06/01 ' 增加了方法Left,Top,Width,Height,Move,处理窗口位置等 ' V1.4 增加了窗口位置调整的几个函数 2013/06/04 ' 增加了
得到
应用程序路径的函数AppName ' 增加了
得到
应用程序启动参数的函数AppCommandLine ' V1.5 增加了窗口最大最小化,隐藏显示正常的几个函数 2013/06/06 ' 增加了获取控件相关函数是否使用正则的参数UseRegExp默认F ' V1.6 将Left,Top函数改为属性,可获得可设置 2013/06/10 ' V1.7 增加函数:CloseApp 结束进程 2013/06/13 ' 修正了部分跟正则匹配相关的函数 ' 增加函数:GetElementTextByText ' 增加函数:GetElementHwndByText ' V1.8 增加函数:GetWindowByClassName 2013/06/26 ' 增加函数:GetWindowByClassNameEx ' 增加函数:GetWindowByAppName ' 增加私有变量hWnd_ ' 增加属性hWnd,可设置,单设置时候会检查,非法则设置为0 ' 更新GetWindowByTitleEx函数,使之可以选择性支持正则 ' 删除GetWindowByTitleRegExp函数,合并到上面函数 ' 增加Set
Focus
函数,调用
Focus
实现,为了是兼容VB习惯 ' 扩了ProcessID、AppPath、AppName、AppCommandLine三个函数,可带参数 ' 网友wwb(wwbing@gmail.com)提供了一些函数和方法属性: ' CheckWindow, Load, WindowState, Visible, hDC, ZOrder ' AlphaBlend, Enabled, Refresh, TransparentColor ' 采纳wwb网友的部分意见,将句柄变量改为hWnd_,但是hWnd作为公共属性 ' V1.9 修正函数:GetMatchHwndFromWindow 正则表达式的错误 2013/08/07 ' 修正函数:GetMatchHwndFromWindow 函数中的一些错误 2014/09/23 ' 增加函数:GetWindowByClassNameEx ' 增加函数:GetWindowByPID 根据PID取窗口句柄 ' 增加函数:GetCaptionByHwnd 根据句柄取得
标题
' 增加函数:SetTop设置窗体置顶,传入参数false则取消 2014/09/24 ' 增加函数:Shake、FadeIn、FadeOut 抖动、淡入、淡出特效 '=======================================================================
Windows窗口自动化操作类forVB6_V2.0 clsWindow源码
功能描述 clsWindow是VB6环境下使用的一个操作外部程序窗口的类,比如
得到
窗口句柄,
得到
窗口里某个文本框的内容。非常方便,使用它可以让您脱身于一堆api函数,功能强大使用简单! 这个类楼主很早就开始封装了,原本打算做成类似DOM对象那样,通过一堆getElmentByXXX等方法实现对桌面程序下各个窗口以及里面各个控件对象的自由访问,但是具体要做的工作太多,目前只实现了一部分,期待大家一起加入更新维护。 目前该类封装了绝大部分对windows窗口的常用操作,例如:获取窗口句柄,设置窗口为活动窗口,设置窗口内文本框内容,点击窗口内的某些按钮等。 这个类现在还在一直不断地扩充,功能已经很强大很广泛,使用它可以轻而易举地设置窗口
标题
栏文字,移动窗体等等。以前要实现这些操作常常需要一大堆api函数,现在只需要一点点代码就可以了,完全让您脱身于api函数的海洋。当然您需要研究每个方法实现原理的话可以看一看源代码。 使用范例(请在v1.9以上测试): 1)关闭腾讯新闻窗口“腾讯网迷你版”。 Dim window As New clsWindow If window.GetWindowByTitle("腾讯网迷你版").hWnd > 0 Then window.CloseWindow '关闭窗口 End If 以上是不是很简洁呢? 20150715更新追加: 最新1.9版本更简洁,一句话解决: w.GetWindowByTitle("腾讯网迷你版").CloseWindow 小伙伴,是不是简洁爆了呢?:) 为了防止程序找不到窗口而一直等待可以改成: w.GetWindowByTitle("腾讯网迷你版",1).CloseWindow (意思为超时等待1秒。默认会耐心等60秒,除非你确定窗口一定有,然后就用上面的。) 2)获取某个打开的记事本里面的内容。假设记事本
标题
为“测试要求.txt - 记事本”,通过SPY等工具查看得知记事本的文本框类名为:Edit,那么我们编写程序如下: Dim window As New clsWindow If window.GetWindowByTitle("测试要求.txt - 记事本").hWnd > 0 Then MsgBox window.GetElementTextByClassName("Edit") End If 这个看起来也很简单,方法自由还可以使用正则匹配,可以写成下面这样: Dim window As New clsWindow If window.GetWindowByTitleEx("工作任务\.txt.*?", , , True).hWnd > 0 Then MsgBox window.GetElementTextByClassName("Edi", , True) '第三个参数表示是否使用正则,默认为false End If 获取
标题
那边如果觉得要把
标题
写完整太麻烦,可以将GetWindowByTitle该车GetWindowByTitleEx然后后面只要写关键字就行啦。看招: Dim window As New clsWindow If window.GetWindowByTitleEx("工作任务").hWnd > 0 Then MsgBox window.GetElementTextByClassName("Edit") End If clsWindow类最新版下载请关注博客: http://blog.csdn.net/sysdzw/article/details/9083313 '============================================================================================== '名 称:windows窗体控制类v2.0 '描 述:一个操作windows窗口的类,可对窗口进行很多常用的操作(类名为clsWindow) '使用范例:Dim window As New clsWindow ' window.GetWindowByTitle "计算器" ' window.closeWindow '编 程:sysdzw 原创开发,如果有需要对模块扩充或更新的话请邮箱发我一份,共同维护 '发布日期:2013/06/01 '博 客:http://blog.163.com/sysdzw ' http://blog.csdn.net/sysdzw 'Email :sysdzw@163.com 'QQ :171977759 '版
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章