Delphi类引用示例

2025-05-26 05:52:58

1、打开Delphi7集成开发环境,在默认工程的Form1窗体上,一个RadioGroup控件。

Delphi类引用示例

2、在implementation中声明TControlClass的变量,在Form1的Object Insp髫潋啜缅ector中对Form1的OnCreate方法进行编写,代码如下:implementation{$R *.dfm}var CtlClassRef: TControlClass;procedure TForm1.FormCreate(Sender: TObject);begin RadioGroup1.Width := 400; RadioGroup1.Columns := 3; RadioGroup1.Items.Add('Button'); RadioGroup1.Items.Add('Edit'); RadioGroup1.Items.Add('Checkbox'); RadioGroup1.ItemIndex := 0; CtlClassRef := TButton;end;

Delphi类引用示例

3、F9运行程序,可以看到程序的RadioGroup多了三个RadioButton项

Delphi类引用示例

4、双击RadioGroup1,进入OnClick事件方法,写如下代码:procedure TForm1.RadioGroup1Click(Sender: TObject);begin case RadioGroup1.ItemIndex of 0: CtlClassRef := TButton; 1: CtlClassRef := TEdit; 2: CtlClassRef := TCheckBox; end;end;

Delphi类引用示例

5、在Form1的Object Inspector中对Form1的OnMouseDown事件方法进行编写,代码如下:procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);var NewCtrl: TControl;begin NewCtrl := CtlClassRef.Create(Self); NewCtrl.Name := CtlClassRef.ClassName + IntToStr(Self.ControlCount); NewCtrl.Parent := Self; NewCtrl.Left := X; NewCtrl.Top := Y;end;创建CtlClassRef引用的控件。

Delphi类引用示例

6、F5运行程序,选择RadioGroup中的RadioButton,再在窗体点击鼠标,会多出相应的控件。

Delphi类引用示例
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢