• 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,主要区别就是考虑按钮的附加行为、焦点有无、按钮外观。

  • 相关阅读:
    [LeetCode-JAVA] Count Complete Tree Nodes
    [LeetCode-JAVA] Shortest Palindrome
    [LeetCode-JAVA] Best Time to Buy and Sell Stock IV
    [LeetCode-JAVA] Word Ladder II
    [LeetCode-JAVA] Jump Game II
    Keil开发的ARM程序main函数之前的汇编分析
    STM32平台SD卡的FatFS文件系统开发
    STM32 Cortex-M3 NMI异常
    应对STM32 Cortex-M3 Hard Fault异常
    LwIP协议栈开发嵌入式网络的三种方法分析
  • 原文地址:https://www.cnblogs.com/QuincyYi/p/12832083.html
Copyright © 2020-2023  润新知