Delphi ControlCount和ComponentCount的区别

ComponentCount指打开的窗体所拥有的控件个数,包含所有子组件、孙组件(子组件内的子组件)
如上图,Form1的ComponentCount是13,而Panel1的ComponentCount为0
ControlCount指有多少个控件将自己做为父容器。只向下统计到子组件,而不包含孙组件
如上图,Form1的ControlCount是2(Panel1、Memo1),而Panel1的ControlCount为9(Button1、7个Edit、1个Panel2(不含Edit8、Edit9))

以下是借用的万一老师的图,更形象:

  

时间: 2024-10-02 22:23:55

Delphi ControlCount和ComponentCount的区别的相关文章

Delphi SendMessage PostMessage 原理和区别

今天用实例解释一下SendMessage PostMessage 原理和区别: 向按钮(Button)发送单击: SendMessage: SendMessage(Button1.Handle, WM_LBUTTONDOWN, 0, 0); SendMessage(Button1.Handle, WM_LBUTTONUP, 0, 0); PostMessage: PostMessage(Button1.Handle, WM_LBUTTONDOWN, 0, 0); PostMessage(Butt

[转]Delphi : keydown与keypress的区别,组合键

Shift 是一个集合变量. type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble); 也就是说TShiftstate类型有ssShift, ssAlt, ssCtrl, ssLeft(鼠标左键), ssRight(鼠标右键), ssMiddle(鼠标中键), ssDouble (鼠标双击) Value Meaning ssShift The Shift key is held

Delphi : keydown与keypress的区别,组合键

Shift 是一个集合变量. type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble); 也就是说TShiftstate类型有ssShift, ssAlt, ssCtrl, ssLeft(鼠标左键), ssRight(鼠标右键), ssMiddle(鼠标中键), ssDouble (鼠标双击) Value Meaning ssShift              The Shif

从DELPHI到JAVA[delphi]

1 字符串处理 DELPHI var s :string; s := s + 'a string'; JAVA             习惯用法 String s = new String(); s += 'a string'; 由于String对象不可修改,导致对String对象赋值会有一个StringBuffer对象产生并销毁,一个新的String对象被产生.在大字符串处理和循环处理时,性能极差.(参见<JAVA 字符串处理速度测试>) JAVA             优化用法 Stri

Delphi Inputbox,InputQuery用法

Delphi :InputQuery,InputBox用法及区别 function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean; InputQuery返回值为是否点了OK 输入的字符串放在了变量Value中 function InputBox(const ACaption, APrompt, ADefault: string): string; inputBox返回值是字符串,也就是输入的字符串

深入Delphi下的DLL编程

深入Delphi下的DLL编程 作者:岑心 引 言 相信有些计算机知识的朋友都应该听说过“DLL”.尤其是那些使用过windows操作系统的人,都应该有过多次重装系统的“悲惨”经历——无论再怎样小心,没有驱动损坏,没有病毒侵扰,仍然在使用(安装)了一段时间软件后,发现windows系统越来越庞大,操作越来越慢,还不时的出现曾经能使用的软件无法使用的情况,导致最终不得不重装系统.这种情况常常是由于dll文件的大量安装和冲突造成的.这一方面说明DLL的不足,另一方面也说明DLL的重要地位,以至我们无

ComponentCount 与 ControlCount 区别

ShowMessage(panel.ComponentCount.ToString);  ShowMessage(panel.ControlCount.ToString);componetcount怎么与 controlcount不一样

TWinControl与TCustomControl真正的区别之处(TWinControl系统自绘,TCustomControl是Delphi自绘)

关键在于TWinControl都是系统自绘,而TCustomControl都是Delphi自绘 真正区别之处,我觉得是在这里: procedure TWinControl.WMPaint(var Message: TWMPaint); var DC, MemDC: HDC; MemBitmap, OldBitmap: HBITMAP; PS: TPaintStruct; str: String; begin // 这里第一次处理WM_PAINT消息 // 注意,这里是重画句柄控件,重画图形控件不

Delphi的分配及释放---New/Dispose, GetMem/FreeMem及其它函数的区别与相同

转载自:http://www.cnblogs.com/qiusl/p/4028437.html?utm_source=tuicool 我估摸者内存分配+释放是个基础的函数,有些人可能没注意此类函数或细究,但我觉得还是弄明白好. 介绍下面内存函数之前,先说一下MM的一些过程,如不关心课忽略: TMemoryManger = record GetMem: function(Size: Integer): Pointer; FreeMem: function(P: Pointer): Integer;