Delphi类引用示例

2025-10-22 07:22:38

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

Delphi类引用示例

2、在implementation中声明净霜珠TControlClass的变量,在Form1的Object Inspector中对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。
猜你喜欢