递归获得窗体下所有子窗体信息

原创 2016年08月30日 14:21:27
function  TForm1.GetChildWindows(h:HWND) :HWND;
var
  buf: array[0..255] of Char;  {这个缓冲区是获取类名用的, 如果不需要可以删除}
  begin
  h := GetWindow(h, GW_CHILD); {第一个子窗口}
  while h <> 0 do
  begin
    {下面两行是要执行的操作, 并假定只处理 TEdit}
    GetClassName(h, buf, Length(buf));
    //if buf = 'TSyntaxMemo' then
    ShowMessageFmt('%s:%d', [buf, h]);
    GetChildWindows(h);             {递归}
    h := GetWindow(h, GW_HWNDNEXT); {下一个子窗口}
  end;
end;

枚举子窗口/子窗体 EnumChildWindows 函数需要注意,它已经递归过了!

最近用到了这个API,懒惰驱使,随便搜了个csdn上的代码拿来用用,发现跑起来奇慢,虽然跑了好久好久最后也不知道因为什么停下来了,也能看到树控件里的结果了,但还是表示怀疑。经过验证发现HWND在枚举过...

查找窗体界面中的控件,递归查找等控件处理问题,多使用于权限设置管理。

由于权限管理比较复杂一点。常用控件名称来设置来解决不同用户的权限问题。 读出本窗体里面的子控件的名称,不包括子控件的子控件。如要包括子控件,则应该采用递归recursive处理, For Each...
  • linjimu
  • linjimu
  • 2013年11月07日 00:10
  • 1195

监控窗体按键,发送相应的串口信息

项目需要 摇杆 控制机器,但是在家里调试 摇杆机构不方便,所以采用了 串口 加 电脑键盘按键 =单片机接收串口消息,生成摇杆信息 监控窗体按键信息的代码如下,本来打算用keyup keydown ...
  • ljxh401
  • ljxh401
  • 2017年12月11日 10:10
  • 5

C#窗体应用程序 vs + sql server2008连接举例,简单的学生信息管理系统

电脑 win8.1 专业版 64位 vs 2013 + sql server2008 sql server2008安装教程:点击打开链接 sql server 2008常见问题以及解决方法:http:...

Winform之学生信息管理系统登陆窗体

好吧,对这块的知识学习早已期待已久,感觉学习的进度还是慢了,最近一直在学习Winform,不得不说一些登陆窗体的设计,这几天算是小有收获,自己也看了许多这方面的知识,知道了要想做学生信息管理系统是一个...

C#通过API获取接收数据窗体控件句柄,并向该句柄发送文本信息

将一组数据自动写到第三方的界面上,通过鼠标拖拽传值到数据接收界面,代替手工录入。...

Fixwin电子窗体——基本信息模板

通过Fixwin电子窗体,设计几种常用的功能模块模版,在开发实际的项目时,采用模板创建相应模块能够节省工作量,并且通过模板建立的系统界面一致性也比较好。 以下是几种基本信息类的模板   模板...
  • hunkcai
  • hunkcai
  • 2011年12月07日 23:25
  • 1774

【java】MyEclipse的简易信息查询窗体

这是我学习java的第一个简易窗体,类似于数据库,为了简化,我使用的是txt文本,从txt中读入信息并显示在界面中的textfield中。 import java.awt.BorderLayout;...

【C#】弹出窗体时加载数据库中对应的信息

上一篇说到学生信息的子窗体,那么如何使在弹出它的同时显示其中的学生信息呢? 这里不得不提数据库的链接 namespace 教务管理 { public class 数据库连接 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:递归获得窗体下所有子窗体信息
举报原因:
原因补充:

(最多只允许输入30个字)