在Delphi中使用静态文本而不是Label有什么好处?

时间:2014-08-16 23:11:59

标签: delphi label static-text

来自docwiki标签:

当您需要识别或注释其他组件(如编辑框)或要在表单上包含文本时,可以在表单上放置标签。标准标签组件TLabel是一个非窗口控件,因此无法获得焦点;当您需要带有窗口句柄的标签时,请改用TStaticText。

当您需要带有窗口句柄的标签时,语句" 是什么,请使用TStaticText "意思?

4 个答案:

答案 0 :(得分:11)

在工作中,当我们希望UI自动化测试工具“读取”“标签”的文本时,我们使用TStaticText。大多数交互都是通过Windows API消息传递完成的,因此TStaticText将响应GetWindowText,而TLabel则不会。这是关于我们如何使用TStaticText和TLabel的简单概述。

答案 1 :(得分:6)

此外,如果您正在为视障用户创建需要使用屏幕阅读器的表单,则软件无法看到TLabel,但TStaticText标签可以。

答案 2 :(得分:1)

剪切并粘贴Embarcadero

  

TStaticText组件的功能与TLabel类似,但它除外   从TWinControl下降,因此有一个窗口句柄。使用   当组件的加速键时,TStaticText而不是TLabel   必须属于窗口控件 - 例如,在ActiveX属性上   页。

答案 3 :(得分:0)

我相信这两个标签控件具有几乎相同的功能的原因是(历史)。

在旧版本的Windows(旧版本为Windows 3.x)中,整个系统可以拥有的句柄数量实际上是有限制的。因此,使用无柄标签控制是节省这些宝贵系统资源的好方法。这就是Borland引入TLabel的原因。