delphi TButton TBitBtn TSpeedButton 汇总
以下是他们的继承关系
TControl-->TwinControl-->TbuttonControl-->Tbutton-->TBitBtn
TControl-->TGraphicContron-->TSpeedButton
TButton是普通标准按钮。他的功能你自己设定。
TBitBtn是可以在按钮上显示位图或者图标的按钮。他有自己的默认功能,你可以选,当然也可以自己写,就像设定TButton。
TSpeedButton是菜单上的快捷按钮,主要用来对应下拉菜单上的功能。
TButton是普通标准按钮。
TBitBtn是可以显示位图的按钮,Delphi已经自带了几种常用的位图按钮了。TSpeedButton一般是在工具栏上的那些按钮。
一、TBitBtn是TButton的派生类。增加的属性有Glyph、Kind、Layout、Margin、NumGlyphs、Spacing、Style。这些属性都影响按钮中的图象显示。其中,Kind属性还影响按钮的行为。例如,当Form1中的BitBtn1的Kind设置为bkClose时,按下该按钮将自动调用Form1.Close。因此,除了增加图象显示的特性之外,增加按钮行为也是TBitBtn于TButton的重要区别。
二、TSpeedButton是TGraphicControl的派生类,不具有TWinControl的重要特性:控制焦点。也就是说,你无法通过Tab键将焦点移动到一个TSpeedButton上,更不能试图按下空格键或者回车键来利用Windows标准输入方式“按”此类按钮。这就是TSpeedButton与TButton(包括TBitBtn)的重要区别。另外,利用TSpeedButton可以轻松制作透明按钮(Flat属性配合Transparent属性),这对实现比较酷的另类应用来说很有意义。
因此,用TBitBtn要优于用TButton。而用TBitBtn还是用TSpeedButton,主要区别就是考虑按钮的附加行为、焦点有无、按钮外观。