Delphi类的入门的例子(6): 类引用示例

unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ExtCtrls;
type
 TForm1 = class(TForm)
  RadioGroup1: TRadioGroup;
  procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
  procedure FormCreate(Sender: TObject);
  procedure RadioGroup1Click(Sender: TObject);
 private
  { Private declarations }
 public
  { Public declarations }
 end;
var
 Form1: TForm1;
implementation
{$R *.dfm}
var
 ClassRef: TControlClass; //TControlClass 是 TControl 的类引用
procedure TForm1.FormCreate(Sender: TObject);
begin
 RadioGroup1.Width := 300;
 RadioGroup1.Columns := 3;
 RadioGroup1.Items.Add('Button');
 RadioGroup1.Items.Add('Edit');
 RadioGroup1.Items.Add('Lable');
 RadioGroup1.ItemIndex := 0;
 ClassRef := TButton;
end;
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
 case RadioGroup1.ItemIndex of
  0: ClassRef := TButton;
  1: ClassRef := TEdit;
  2: ClassRef := TLabel;
 end;
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
var
 NewCtrl: TControl;
begin
 NewCtrl := ClassRef.Create(Self);
 NewCtrl.Name := ClassRef.ClassName + IntToStr(Self.ControlCount);
 NewCtrl.Parent := Self;
 NewCtrl.Left := X;
 NewCtrl.Top := Y;
end;
end.

时间: 2024-08-31 11:48:57

Delphi类的入门的例子(6): 类引用示例的相关文章

ASP 类 Class入门 推荐_ASP CLASS类

Class 声明 声明一个类的名字,就是定义一些变量,属性,方法来组成一个类.我们常常看到别的程序语言中中都有类的说明,PHP,VB,C++,这个在VBScript中的类的说明,我是第一次听到,我们的日常工作就是网站开发,在这个里面多多少少搞出点经验,像模像样也能自诩为"内行",所以我就来分享一下我所知道的这个新的东东.我们来看看下面的这个代码吧!(window2000+IIS5.0通过测试) 类的定义1 yyh.asp<%''声明一个名为yh的类 Class yh Privat

Delphi类的入门的例子(5): override

unit Unit1; interface uses Classes, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); end; TBase = class procedure proc1; virtual; procedure proc2; end; TChild = class(TBase) pro

python 3快速入门之模块化和类

  首先引用官方的一段话 Python 展现了"瑞士军刀"的哲学. 这可以通过它更大的包的高级和健壮的功能来得到最好的展现. 例如: xmlrpc.client 和 xmlrpc.server 模块让远程过程调用变得轻而易举. 尽管模块有这样的名字, 用 户无需拥有 XML 的知识或处理 XML. ? email 包是一个管理邮件信息的库,包括 MIME 和其它基于 RFC 2822 的信息文档. 不同 于实际发送和接收信息的 smtplib 和 poplib 模块, email 包包

Python中的元类编程入门指引_python

回顾面向对象编程 让我们先用 30 秒钟来回顾一下 OOP 到底是什么.在面向对象编程语言中,可以定义 类,它们的用途是将相关的数据和行为捆绑在一起.这些类可以继承其 父类的部分或全部性质,但也可以定义自己的属性(数据)或方法(行为).在定义类的过程结束时,类通常充当用来创建 实例(有时也简单地称为 对象)的模板.同一个类的不同实例通常有不同的数据,但"外表"都是一样 - 例如, Employee 对象 bob 和 jane 都有 .salary 和 .room_number ,但两者

JavaScript中自定义类写法与调用例子

目前在Javascript中,已经存在一些标准的类,例如Date.Array.RegExp.String.Math.Number等等,这为我们编程提供了许多方便.但对于复杂的客户端程序而言,这些还远远不够. 与Java不同,Java2提供给我们的标准类很多,基本上满足了我们的编程需求,但是Javascript提供的标准类很少,许多编程需求需要我们自己去实现,例如Javascript没有哈西表Hashtable,这样的话在处理键值方面就很不方便. 因此,我个人认为一个完整的Javascript对象

Java---类反射(1)---类反射入门和基础

什么是类反射 什么是反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制. 反射(Reflection)是Java程序开发语言的特征之一,它允许运行中的Java程序对自身进行检查, 也称自审,并能直接操作程序的内部属性.例如,使用它能获得Java类中各成员的名称并显示出来. Java的这一能力在实际应用中应用得很多,在其它的程序语言中根本

ASP 类 Class入门

Class 声明 声明一个类的名字,就是定义一些变量,属性,方法来组成一个类 这是真的!!!?VBScript中能用类!?!?不知道能不能用于ASP!?这样的话,我就不是能写出像object一样的ASP程序?!说干就干!实践是检验真理的唯一标准,自个动手吧! 我们常常看到别的程序语言中中都有类的说明,PHP,VB,C++,这个在VBScript中的类的说明,我是第一次听到,我们的日常工作就是网站开发,在这个里面多多少少搞出点经验,像模像样也能自诩为"内行",所以我就来分享一下我所知道的

PHP类(Class)入门教程第1/2页_php基础

以我的观点来说说PHP中的Class,用于表达的语言都是非正式的语言,也不能确定是否正确. 建立一个类很简单. 复制代码 代码如下: <?php class my_class{} ?> 类到底干什么呢?很多人都说是什么黑匣子,我在这里称它为一个独立的整体.我们只知道类名,而不知道里面有什么东西.那么,该如何使用这个类呢? 首先:要知道它里面是否定义了公共的变量--专业术语上称它为"属性". 其次:要知道它里面定义了什么函数--专业术语中称它为"方法".

ASP 类 Class入门_ASP CLASS类

Class 声明  声明一个类的名字,就是定义一些变量,属性,方法来组成一个类   这是真的!!!?VBScript中能用类!?!?不知道能不能用于ASP!?这样的话,我就不是能写出像object一样的ASP程序?!说干就干!实践是检验真理的唯一标准,自个动手吧!  我们常常看到别的程序语言中中都有类的说明,PHP,VB,C++,这个在VBScript中的类的说明,我是第一次听到,我们的日常工作就是网站开发,在这个里面多多少少搞出点经验,像模像样也能自诩为"内行",所以我就来分享一下我