本例效果图:



代码文件:


unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)ListBox1: TListBox;Button1: TButton;Button2: TButton;Button3: TButton;procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button3Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}{获取 Button1 的父类}
procedure TForm1.Button1Click(Sender: TObject);
varClassRef: TClass;
beginListBox1.Clear;ClassRef := Sender.ClassType;while ClassRef <> nil dobeginListBox1.Items.Add(ClassRef.ClassName);ClassRef := ClassRef.ClassParent;end;
end;{获取 ListBox1 的父类}
procedure TForm1.Button2Click(Sender: TObject);
varClassRef: TClass;
beginListBox1.Clear;ClassRef := ListBox1.ClassType;while ClassRef <> nil dobeginListBox1.Items.Add(ClassRef.ClassName);ClassRef := ClassRef.ClassParent;end;
end;{获取当前 Form 的父类}
procedure TForm1.Button3Click(Sender: TObject);
varClassRef: TClass;
beginListBox1.Clear;ClassRef := Self.ClassType;while ClassRef <> nil dobeginListBox1.Items.Add(ClassRef.ClassName);ClassRef := ClassRef.ClassParent;end;
end;end.

窗体文件:


object Form1: TForm1Left = 0Top = 0Caption = 'Form1'ClientHeight = 147ClientWidth = 282Color = clBtnFaceFont.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -11Font.Name = 'Tahoma'Font.Style = []OldCreateOrder = FalsePixelsPerInch = 96TextHeight = 13object ListBox1: TListBoxLeft = 0Top = 0Width = 161Height = 147Align = alLeftItemHeight = 13TabOrder = 0ExplicitHeight = 155endobject Button1: TButtonLeft = 184Top = 24Width = 75Height = 25Caption = 'Button1'TabOrder = 1OnClick = Button1Clickendobject Button2: TButtonLeft = 184Top = 64Width = 75Height = 25Caption = 'Button2'TabOrder = 2OnClick = Button2Clickendobject Button3: TButtonLeft = 184Top = 104Width = 75Height = 25Caption = 'Button3'TabOrder = 3OnClick = Button3Clickend
end

学习官方示例 - System.TClass相关推荐

  1. 学习官方示例 - System.Frac: 返回小数部分

    为什么80%的码农都做不了架构师?>>>    unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Clas ...

  2. go-kit微服务学习-官方示例stringsvc学习

    kit库 该库详细的文档可以参考官方文档,本文只是针对kit官网给出的stringsvc相关例子示例的学习. 示例代码stringsvc1 package mainimport ("cont ...

  3. 学习官方示例 - SysUtils.EncodeDate、EncodeTime、StrToDate、StrToTime、StrToDateTime

    代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Fo ...

  4. 学习官方示例 - TApplication.ExeName

    为什么80%的码农都做不了架构师?>>>    本例包含用 TFileStream 复制文件和用 ShellAPI.ShellExecute 打开文件夹的方法. 本例效果图: 代码文 ...

  5. html5游戏引擎phaser官方示例学习

    为什么80%的码农都做不了架构师?>>>    phaser官方示例学习进行中,把官方示例调整为简明的目录结构,学习过程中加了点中文注释,代码在这里. 目前把官方的完整游戏示例看了一 ...

  6. (Fabric 学习六)Fabric2.0 私有数据 使用marbles官方示例

    私有数据 从v1.2开始,Fabric 提供了创建私有数据集合的功能,它允许在通道上定义的组织子集能够背书.提交或查询私有数据,而无需创建单独的通道. 产生的原因:一个通道上的一组组织需要对该通道上的 ...

  7. Android鬼点子-通过Google官方示例学NDK(4)

    如果你看遍了网上那些只是在C++里面输出一个 ' helloWorld ' 的NDK教程的话,可以看看本系列的文章,本系列是通过NDK的运用的例子来学习NDK. 如果对这方面感兴趣,可以看看前三篇. ...

  8. 【Android 热修复】运行 Tinker 官方示例 ( 处理 TINKER_ID 问题 | 编译 debug 包 | 修改 Gradle 脚本 | 生成 patch 包 | 热修复 )

    文章目录 一.下载官方示例源码 二.处理 TINKER_ID 问题 三.编译 debug 包 四.安装 APK 并运行 五.修改 Gradle 构建脚本中的文件名称 六.修改程序逻辑代码 七.生成 p ...

  9. Qt Dock Widgets 官方示例的翻译

    目录名字 Qt Dock Widgets 官方示例的翻译 Dock Widgets Example 介绍: MainWindow Class 定义: MainWindow Class 关联的相关头文件 ...

最新文章

  1. 16.Hadoop架构再探讨第1部分
  2. MyBatis和hibernate本质区别与应用场景
  3. navicat 添加外键1215错误
  4. jedis使用pipline的方法
  5. mysql解压安装如何登录_如何安装windows解压版MySQL及开启报错
  6. datatable把一个LIst的数据放入两个colum防止窜行的做法
  7. 计算机图形学研究与应用的最新进展,关于计算机图形学的发展及应用探究
  8. linux mint 8812ac网卡,kali虚拟机连接无线网卡comfast cf-812AC(Realtek 8812BU芯片)(不支持wlan0mon)...
  9. WebSocket 协议 RFC 文档(全中文翻译) 1
  10. 动态代理的好处是什么
  11. 狂飙高启兰好飒,你看狂飙了吗?
  12. 标签无效 /zabbix_export/date: YYYY-MM-DDThh:mm:ssZ 预计。
  13. Eclipse 使用与配置
  14. win7怎么装python_如何在win7上面安装python的包
  15. 计算机在航空航天的应用ppt,数字图像处理技术的应用_北京航空航天大学:数字图像处理技术的应用_ppt_大学课件预览_高等教育资讯网...
  16. 怎么关闭计算机硬件加速,启用硬件加速是什么意思?如何关闭[详细说明]
  17. selenium自动化爬取京东电脑商品信息用于数据分析
  18. Barrier多计算机共享键鼠详细教程(可跨平台)+使用感受
  19. java excel行高_Java 设置Excel自适应行高、列宽
  20. 路由器输入宽带账号密码上网

热门文章

  1. 如何处理Eclipse错误消息 The declared package does not match the expected package
  2. Eclipse上GIT插件EGIT使用手册
  3. jenkins的基本操作
  4. AppDynamics赵宇辰:硅谷APM独角兽,打造DevOps领域的智能大脑
  5. Windows上安装HADOOP单机伪分布式集群
  6. 一个蛮复杂的LINQ表达式
  7. 陶哲轩实分析 习题 7.2.6 (嵌套级数)
  8. 如何在ASP.NET页面中使用异步任务(PageAsyncTask)
  9. MySQL性能测试工具sysbench的安装和使用
  10. Linux系统命令审计