关于动态创建组件的问题?、/

dsq1980 2004-08-28 05:35:07
我程序运行中我动态创建了一个Tshape组件(MYshape),在运行中我如何来访问他,比如我要修改他的color 属性
...全文
106 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dsq1980 2004-08-28
  • 打赏
  • 举报
回复
呵呵,谢谢楼上,我犯了一个愚蠢的问题,就是把变量范围给搞错了,惭愧惭愧
wintergoes 2004-08-28
  • 打赏
  • 举报
回复
procedure TForm1.FormCreate(Sender: TObject);
var
Myshape:Tshape;
begin
Myshape:=Tshape.Create(nil);
Myshape.Parent:=form1;
Myshape.Left :=200;
Myshape.Top :=200;
end;
blazingfire 2004-08-28
  • 打赏
  • 举报
回复
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
MyShape: TShape;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
MyShape := TShape.Create(Self);
MyShape.Parent := Self;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
MyShape.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
MyShape.Brush.Color := clRed;
end;

end.
aiirii 2004-08-28
  • 打赏
  • 举报
回复
(Findcomponent('Sharp1') as TSharp).Color

如果你創建的名字是 Sharp1 的話
tsst 2004-08-28
  • 打赏
  • 举报
回复
你建了一个控件,那它就是一个类实例了!通过名字就可以访问了!
这个与动态,静态是没有关系的!你只要确保它在使用范围内就可以了!
「已注销」 2004-08-28
  • 打赏
  • 举报
回复
通过控件名访问

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧