ComponentCount属性
对应对象:所有组件
声明:property ComponentCount: Integer;
功能:此属性在运行时有效,它是只读型。同时它标明组件具有的组件数。当用户在设计时可以在窗体上放置一个组件,因此此窗体将变为这个组件的有用者。Components属性例出了当前组件的所有的组件。
例子:
procedure TForml.ButtonlClick(Sender: TObject);
var
x: Integer;
begin
x := Forml.ComponentCount;
Labell.Caption := IntToStr(x);
end;
ComponentIndex属性
对应对象:所有组件
声明:properrty ComponentIndex: Integer;
功能:此属性说明了拥有者的组件例表中当前的组件的位置。
每个组件包含一个其拥有者的组件数组,此数组是以0为基底的数组。Components属性可以来访问这个数组。CompnentIndex属性列出了它被拥有者的Components数组内部组件的位置,该属性在运行时是有效的,且是只读型。
例子:
procedure TForm1.ButtonlClick(Sender: TObject);
begin
Labell.Caption := IntToStr(RadioButton3.ComponentIndex);
end;
Components属性
对应对象:所有组件
声明:property Components[Index: Integer]: TComponent;
功能:Components属性指出当前数组所拥有的组件数组。
Components属性在运行时是有效的,它是只读型的。它可以用来访问组件所拥有的任何组件(在知道组件的索引时)。一般情况下直接地访问组件边界容易,但是如果用户在运行时动态地创建了许多组件,用户将需要使用这个方法。因为组件数组是以0为基底的,所以第一个组件的索引将是0,第二个组件的索引将是1等。
例子:
//Indirectly access the check boxes owned by the form and check them all
procedure TForml.Button3Click(Sender: TObject);
var
x: Integer;
begin
for x := 0 to Forml.ComponentCount – 1 do
if Forml.Components[x] is TCheckBox then
TCheckBox(Form1.Components[x]).Checked := True;
end;
ComponentState属性
对应对象:所有组件
声明:property ComponentState: TComponentState;
功能:ComponentState属性用来描述组件的状态。
ComponentState属性在运行时是有效的,且它是只读型的。它的类型是TComponentState,被声明成为:TComponentState = set of (csLoading, csReading, csWriting, csDestroying, csDesigning, csAncestor, csUpdating, csFixups); TComponentState是一个标志集合,把它们组合在一起可以导出组件的状态,一些公用的标志包括以下:
csDesigning:Delphi环境是设计方式,因此可以编辑组件。
csReading:组件从一个流中读取它的属性值。
csWriting:组件将它的属性值写入一个流中。
组件在内部使用CompnentState属性,可以保证某些程序可以执行。因此,无需经常直接地访问ComponentState。
DestroyCompoents方法
对应对象:所有组件
声明:procedure DestroyComponents;
功能:DestroyComponents方法撤销当前组件所拥有的全部组件。
DestroyComponents是它在第—次调用Destroying之后由Destroy方法调用的。除非是设计一个组件,一般的情况下是不需要直接访问DestroyComponents的。
Destroying方法
对应对象:所有组件
声明:procedure Destroying;
功能:Destroying通过在它的ComponentState属性中设置cbDestroying标志,来通知当前组件立刻被撤销(除了在同时由全局TGovemor对象产生一个msgPardon信息)。之后它将对当前组件拥有的每一个组件调用Destroying方法。调用Destroying是由组件的Destroy方法所作出的第一个操作,用户一般不需要直接访问Destroying。
FindComponent方法
对应对象:所有组件
声明:function FindComponent(const AName: string): TComponent;
功能:FindComponent方法在当前的组件的Components数组中指出给定的组件。被传递给FindComponent中的字符串是被寻找的组件名。例如“Edit1”,“Label1”。FindComponent将返回该组件(如果它存在),否则将返回空。
例子:
//Use FindComponent to obtain another pointer to CheckBoxl
procedure TForml.Button4Click(Sender: TObject);
var
MyComponent: TComponent;
begin
MyComponent := FindComponent(’CheckBox1’);
TCheckBox(MyComponent).Checked := True;
end;
Name属性
对应对象:所有组件
声明:property Name: TComponentName;
功能:Name是一个标识符、它可以用于在Delphi中的源代码和设计环境之间访问组件。De1phi在设计时为添加的组件提供了十分烦琐的缺省名,例如“Forml”,“Form2”等等。用户可以随意地改变它们。当动态的链接组件时,用户可以在源代码的var部分命名组件。
例子:
动态创建一个按纽控件。
var
Form2: TForm2;
MyButton: TButton; //the Name property is MyButton
implementation
{$R *.DFM}
procedure TForml.FormCreate(Sender: TObject);
begin
MyButton := TButton.Create(Self);
MyButton.Parent := Form1;
MyButton.Height := 32;
MyButton.Width := 40;
MyButton.Caption := ’Hi’;
//set other button properties as needed
end;
警告:在运行时不要改变设计时创建的组件名。Delphi保持对设计时添加的组件方法和事件处理程序的跟踪,在程序运行时改变组件名将导致一些难以应付的事故。
Owner属性
对应对象:所有组件
声明:property Owner: TComponent;
功能:Owner属性用来指出当前组件的拥有者。
一个窗体对应所有在其上面的组件是它们的拥有者。当一个组件的拥有者被撤销时,它的存储空间同时被释放,那么该组件也就被撤销了,它所占据的内存也被释放。拥有一个组件和作为一个组件的父类是不同的。控件(它是TComponent的派生类)具有一个Parent属性,是对应组件的视觉容器而不是说明它是拥有者。视觉容器像其他包含的控件面板一样,都没有拥有控件,包含的控件仍旧由窗体所拥有。当动态创建组件时,Owner属性由Create方法来设置,在设计时创建的组件将它的Owner属性设置成为当前的窗体。Owner属性在运行时是有效的。
Tag属性
对应对象:所有组件
声明:property Tag: Longint;
功能:Tag属性用组件存储一个用户定义的长整型值。Tag属性允许用户使用组件存储长整型值,当用户看到它合适时就可以使用它,它的使用是可以选择的。
关于 TApplication 详解 三 ---- TComponent
转载于:https://www.cnblogs.com/dgjack/archive/2010/11/29/1891255.html
相关文章:

[转载] K3 K3c 最简单无损开壳方法
只用一把螺丝刀就行了,其它什么撬棒 信用卡 撬片等 拆机工具一概不用。拆了5台,只有一台断了一个扣口。1. 把底部4个螺丝拿掉。2.把路由如图放在桌子上,路由平行于身体,注意是立着放 使路由与桌子接触的部分成30度角。这样使一侧…

图像处理随笔知识
采样频率: 采样频率是指1s内采样的次数,反映了采样点之间的间隔大小。 采样频率越高,得到的图像样本越逼真,图像质量越高,但要求的存储量也越大。 图像量化: 要用多大范围的数值来表示图样采样之后的每一个…

一则android软件开发工程师的招聘信息
岗位职责: 从事Android平台的客户端软件开发 任职资格: 1、一年以上Android平台开发经验; 2、两年以上Java开发经验; 3、熟悉Android开发架构和API调用; 4、熟悉HTTP、TCP/IP通讯协议; 5、熟悉面向对象编程…

【数据库】数据库基本操作
操作练习: 创建数据库 删除数据库 修改数据库配置 创建数据表 修改表结构 ———————————— 添加字段 修改字段 重命名字段 更改主键 删除字段 ———————————— 重命名表名 删除表 截断表 表数据的操作 添加数据 修改数据 删除数…

USERADD命令详解
2019独角兽企业重金招聘Python工程师标准>>> 1.作用useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是终极用户。2.格式useradd [-d home] [-s shell] [-c comment] [-m [-k templat…

tensorflow入门(二)
import numpy as np import tensorflow as tf import matplotlib.pyplot as plt#使用numpy生成200个随机点 x_data np.linspace(-0.5,0.5,200)[:,np.newaxis] noise np.random.normal(0,0.02,x_data.shape) y_data np.square(x_data) noise#定义两个placeholder x tf.plac…

DRF序列化和反序列化
一、自定义序列化组件 新建一个任意名的py文件,里面导入serlizerfrom rest_framework import serializers自定义一个类继承serializers,里面写需要序列化的字段方法一:继承serializers.Serializerclass BookSerlizer(serializers.Serializer)…

设计模式学习笔记-中介模式
概述: 用中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以对立地改变他们之间的…

【数据库】兴唐第二十七节课之jdbc的使用
使用jdbc修改数据库表中的信息 package java27practice;import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement;public class JDBCDemo {public static void main(String[] args) {Connection conn null;Stat…

windows 2008 R2无法创建性能收集器
问题: 检查排除方法: 1.确保用户有权限 Http://technet.microsoft.com/zh-cn/library/cc749154(WS.10).aspx (参考: 2.确保 Distributed Transaction Coordinator服务 及Task Scheduler服务有启动。 3.检查 C:\Windows\System32\T…

Silverlight WCF RIA服务(二十三)Silverlight 客户端 4
DomainDataSource WCF RIA Services提供DomainDataSource控件来简化用户界面和域上下文中数据的交互。通过DomainDataSource,我们可以只是用声明性语法来检索、编辑数据。我们指定域上下文与DomainDataSource一起使用,然后通过这个上下文来调用操作。Dom…

Storm Trident示例function, filter, projection
以下代码演示function, filter, projection的使用,可结合注释 省略部分代码,省略部分可参考:https://blog.csdn.net/nickta/article/details/79666918 FixedBatchSpout spout new FixedBatchSpout(new Fields("user", "score…

解决 sh: java: command not found 问题
在执行脚本上加入如下配置即可#!/bin/bashJAVA_HOME/usr/java/jdk1.8.0_152export PATH$PATH:$JAVA_HOME/bin转载于:https://www.cnblogs.com/jimw/p/11126437.html

【数据库】 兴唐第二十七节课只sql注入
首先来一个用户登录程序 public static void login(String username, String password) {Connection conn null;Statement stat null;ResultSet rs null; try {Class.forName("com.mysql.jdbc.Driver");String url "jdbc:mysql://127.0.0.1:3306/tyrantfor…

SIEM部署的几条最佳实践
2010年11月12号,NetworkWorld发表了一篇文章——《SIEM部署的最佳实践》,业界同仁给出了他的一些建议。 这些建议主要是针对Verizon2010年的那个DBIR报告中提到的日志缺失造成的严重问题。 至于建议,主要有: 1)先要搞明…

ffmpeg解码视频存为BMP文件
ffmpeg解码视频存为BMP文件 分类: ffmpeg2011-07-28 12:13 8人阅读 评论(0) 收藏 举报view plain#include <windows.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #pragma once #ifdef __cplusplus extern …

(四)Asp.net web api中的坑-【api的返回值】
(四)Asp.net web api中的坑-【api的返回值】 原文:(四)Asp.net web api中的坑-【api的返回值】void无返回值IHttpActionResultHttpResponseMessage自定义类型我这里并不想赘述这些返回类型, 可以参考博文http://blog.c…

如何提高编程能力?
其实很多人学编程都会遇到困难,我觉得其中一个根本原因是他们没搞明白学编程到底是学什么。编程不是一种知识,而是一门手艺。我们从小到大的学习都是学习知识,流程一般是课前看书预习,上课听讲,下课做作业,…

【HTML】兴唐第二十八节课之初识HTML
1、HTML:hyper text markup language(超级文本标记语言)算编程,但HTML不是编程语言 2、注意: (1)所有的HTML文件都是以.html或者htm作为扩展名 (2)html文件需要被浏览…

Nagios插件NDOUtils安装
1.DBI的安装# wget http://www.cpan.org/modules/by-module/DBI/DBI-1.608.tar.gz # tar zxvf DBI-1.608.tar.gz # cd DBI-1.608# perl Makefile.PL# make# make test# make install2.DBD的安装# wget http://www.cpan.org/modules/by-module/DBD/DBD-mysql-4.011.tar.gz # tar…

maven 获取pom.xml的依赖---即仓库搜索服务
常用仓库地址: http://repository.sonatype.org/ (https://repository.sonatype.org/)如下图: http://www.mvnrepository.com 转载于:https://www.cnblogs.com/hblthink/p/8643137.html

XFile 关键帧动画的解析遇到的问题
一、mesh 数据储存方式的修改 由于在设计CXFileMesh类时考虑不够全面,原CXFileMesh 类内部储存mesh数据采用的是vector模板。这使后来试图为该类添加支持3dsmax关键帧动画功能时带来很大麻烦。最后还是对CXFileMesh 类做了整体修改:用二叉树储存mesh数据…

【HTML】兴唐二十八节课之常用标签(不定期更新)
部分属性的详细参数见菜鸟教程 (1)换行 <br/> (2)字体设置颜色和大小 <font size 6 color blue>小米巨能写</font> (3)添加图片 <img src "index.jpg" width "300px"> 注&…

Python中自定义类如果重写了__repr__方法为什么会影响到str的输出?
这是因为Python3中,str的输出是调用类的实例方法__str__来输出,如果__str__方法没有重写,则自动继承object类的__str__方法,而object类的__str__方法是调用__repr__方法,因此自定义类未重写__str__方法的情况下&#x…

IT人士的人际关系压力
感谢听心心理学网站的投递在造成IT从业者的众多压力之中,人际关系带来的压力或许是最明显并且循环效应最强的一种。IT行业的冷漠环境是出了名的,在这样的状态之下,如何调整我们的人际关系,将恶性循环改造成良性循环,对…

软件工程网络15结对编程作业
软件工程网络15结对编程作业 1.项目成员 学号:201521123014 博客地址:http://www.cnblogs.com/huangsh/学号: 201521123102 博客地址:http://home.cnblogs.com/u/hyy786030686/结对编程码云项目地址:https://gitee.com…

【THML】兴唐第二十八节课 几个小程序
1、第一个html文件 <HTML><Head><title>小米商城</title></head><body><font size 6 color blue>小米巨能写</font><hr /><img src "index.jpg" width "300px"><p>标签组成部分&a…

Android系统默认Home应用程序(Launcher)的启动过程源代码分析
在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应用程序就是Launcher了…

Data - 数据思维 - 下篇
9 - 数据解读与表达 数据解读 数据解读需要选择一个基点、一个参照系,单独的一个数值往往不具备价值,它只是数字。 注意点: 关注异常值,并深究WHY?相互验证、大胆假设、多方验证。把握趋势或者规律。归纳总结、数清理明。数据表达…

cas server 配置
1.修改cas server的deployerConfigContext.xml <bean id"dataSource" class"org.apache.commons.dbcp.BasicDataSource"> <property name"driverClassName"> <value>com.microsoft.sqlserver.jdbc.SQLServerDriv…