delphi自定义个组件constructor Create

问题描述

delphi自定义个组件constructor Create

求大神指点,我自定义个组件,在constructor Create(AOwner:TComponent);override; 方法里动态添加了另外一个组件(比如是TButton),问题就是,每次重新打开源程序(窗体上添加有我新做的这个组件),在新做的组件上都会动态添加一个TButton,打开一遍,多添加一个;而且在运行的时候,也会多添加一个;搞不明白了,我的目的是在新做项目上,拖动这个组件到窗体上,就是两个组件合在一起就可以了

解决方案

加上一个判断
if (AOwner.ControlCount < 1) then
begin
添加
end;

时间: 2024-10-18 15:06:20

delphi自定义个组件constructor Create的相关文章

第十九章-Delphi自定义部件开发(三)(3)

编译过的Help文件和关键词文件应当与库单元在同一目录. ① 建立Help文件 你可以使用任何的工具创建Windows Help文件.Delphi的多文件搜索引擎,可以包含任何数目的Help文件的要素.在编译的Help文件之外,你应当拥有RTF源文件,这样才能生成关键词文件. 为使自定义部件的Help同库中其它部件一起工作,要遵循下列约定: ● 每个部件有占一页的帮助 部件帮助页应当给出部件目的的简单描述,然后列出最终用户可用的属性.事件和方法的描述.应用开发者通过在窗体上选择部件并按F1访问这

第十九章-Delphi自定义部件开发(二)(2)

⑸ 缺省属性值 当声明一个属性,能有选择地声明属性的缺省值.部件属性的缺省值是部件构造方法中的属性值集.例如,当从Component Palette选择某部件置于窗体中时,Delphi通过调用部件构造方法创建部件,并决定部件属性初始值. Delphi使用声明缺省值决定是否将属性值存在DFM文件中.如果不描述缺省值,Delphi将总是保存该属性值.声明缺省值的方法是在属性声明后加default指令,再跟缺省值. 当重声明一个属性时,能够描述没有缺省值的属性.如果继承的属性已有一个,则设立没有缺省值

第十九章-Delphi自定义部件开发(四)(2)

1. 决定画什么 图形部件通常都具有改变外观的能力,图形控制的外观取决于其某些属性的结合,例如Gauge控制具有决定其形状.方向和是否图形化地显示其过程的能力.同样,Shape控制也应有决定显示各种形状的能力. 给予Shape控制这种能力,增加名为Shape的属性.这需要下列三步: ● 声明属性类型 ● 声明属性 ● 编写实现方法 ⑴ 声明属性类型 当声明一个用户自定义类型的属性时,必须首先声明属性类型.最普通地用于属性的自定义类型是枚举类型. 对Shape控制来说,需要声明一个该控制能画形状的

第十九章-Delphi自定义部件开发(三)(5)

1. 增加只读属性 给日历控制增加只读选项是直接过程.通过增加属性,可以提供在设计时使控制只读的方法,当属性值被设为True,将使控制中所有元素不可被选. ⑴ 增加属性声明和保存值的private域: type TDBCalendar=class(TClendar) private FReadOnly: Boolean; public constructor Create (Aowner: TComponent); override; published property ReadOnly: B

component-如何读取自定义的组件中的 android:src ?

问题描述 如何读取自定义的组件中的 android:src ? 我想创建一个自定义组件,继承 RelativeLayout. 在我的 xml 布局文件中是这样设置的: <Mycomponent android:src="@drawable/my_test_image"> <TestView> </Mycomponent> 如何在 Mycomponent 的 constructor 里创建一个 Drawable 类? 我想查看 ImageView 的源

Delphi中DBEdit组件的主要属性与使用方法

Delphi的DBEdit组件位于组件板的Data Controls页上,用于编辑数据表当前记录某字段的值.DBEdit组件的主要属性与方法如下: 1.主要属性 (1)DataSource 用于选择数据源,使DBEdit组件通过数据源与数据表连接.当DBEdit通过数据源与数据表连接后,显示数据表的哪一个字段,则是由DataField字段决定的. (2)DataField 用于选择数据字段,如果DataField设置为TB0602,则DBEdit用于显示与编辑字段TB0602的值. DataSo

Delphi中DBEdit组件使用方法

Delphi的DBEdit组件位于组件板的Data Controls页上,用于编辑数据表当前记录某字段的值.DBEdit组件的主要属性与方法如下: 1.主要属性 (1)DataSource 用于选择数据源,使DBEdit组件通过数据源与数据表连接.当DBEdit通过数据源与数据表连接后,显示数据表的哪一个字段,则是由DataField字段决定的. (2)DataField 用于选择数据字段,如果DataField设置为TB0602,则DBEdit用于显示与编辑字段TB0602的值. DataSo

WebFields 免费自定义字段组件

web EasyFields适用于asp开发环境的自定义字段组件,该组件您可以到网站http://haitiansoft.126.com下载组件,并有组件的详细使用说明. WebFields自定义字段组件组件能够让客户或者开发人员进行数据库表字段的动态添加.删除 等操作,由客户自己将系统客户化,让开发出的应用系统更能够满足客户的需要. 组件提供相应的记录编辑.新建.查询.显示等一系列的方法,对于应用系统的产品 化有重要作用. WebFields自定义字段组件组件含有多种数据类型,字符型.数据型.

WebFields适用于asp开发环境的自定义字段组件

web WebFields适用于asp开发环境的自定义字段组件,该组件您可以到网站http://www.haitiansoft.com下载组件,并有组件的详细使用说明. WebFields自定义字段组件组件能够让客户或者开发人员进行数据库表字段的动态添加.删除 等操作,由客户自己将系统客户化,让开发出的应用系统更能够满足客户的需要. 组件提供相应的记录编辑.新建.查询.显示等一系列的方法,对于应用系统的产品 化有重要作用. WebFields自定义字段组件组件含有多种数据类型,字符型.数据型.下