Delphi类引用示例
2021-03-08 19:29
标签:ogr window RoCE sre close phi button sse forms 相关资料: https://jingyan.baidu.com/article/bad08e1e2ec23b09c9512148.html 实例代码: Delphi类引用示例 标签:ogr window RoCE sre close phi button sse forms 原文地址:https://www.cnblogs.com/FKdelphi/p/12773373.html 1 unit Unit1;
2
3 interface
4
5 uses
6 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
7 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;
8
9 type
10 TControlClass = class of TControl;
11
12 TForm1 = class(TForm)
13 RadioGroup1: TRadioGroup;
14 procedure FormCreate(Sender: TObject);
15 procedure RadioGroup1Click(Sender: TObject);
16 procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
17 Shift: TShiftState; X, Y: Integer);
18 private
19 { Private declarations }
20 public
21 { Public declarations }
22 end;
23
24 var
25 Form1: TForm1;
26
27 implementation
28
29 {$R *.dfm}
30 var
31 CtlClassRef: TControlClass;
32
33 procedure TForm1.FormCreate(Sender: TObject);
34 begin
35 RadioGroup1.Width := 400;
36 RadioGroup1.Columns := 3;
37 RadioGroup1.Items.Add(‘Button‘);
38 RadioGroup1.Items.Add(‘Edit‘);
39 RadioGroup1.Items.Add(‘Checkbox‘);
40 RadioGroup1.ItemIndex := 0;
41 CtlClassRef := TButton;
42 end;
43
44 procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
45 Shift: TShiftState; X, Y: Integer);
46 var
47 NewCtrl: TControl;
48 begin
49 NewCtrl := CtlClassRef.Create(Self);
50 NewCtrl.Name := CtlClassRef.ClassName + IntToStr(Self.ControlCount);
51 NewCtrl.Parent := Self;
52 NewCtrl.Left := X;
53 NewCtrl.Top := Y;
54 end;
55
56 procedure TForm1.RadioGroup1Click(Sender: TObject);
57 begin
58 case RadioGroup1.ItemIndex of
59 0: CtlClassRef := TButton;
60 1: CtlClassRef := TEdit;
61 2: CtlClassRef := TCheckBox;
62 end;
63 end;
64
65 end.
上一篇:IIS上部署web api时log4net无法写日志
下一篇:C# 事件