问题标签 [tlabel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - 确定 TLabel 的宽度
你好堆栈溢出用户
我有TGroupBox
一个TLabel
在里面。有了这个TLabel
,我想显示候选人的姓氏和名字。有些候选人有不止一个名字,有时三个,当这种情况发生时,TLabel
并不总是适合我的TGroupBox
. 发生这种情况时,我只显示姓氏、名字,其余的只显示为首字母。
为了做到这一点,我需要知道TLabel
如果要为其分配值,它是否适合。换句话说,TLabel
在将值实际分配给它的Caption
属性之前,我需要确定它的宽度,因为那将是显示可变数据的糟糕编程。
有什么建议么?
delphi - 查找具有固定长度和自动换行属性的标签中的行数 true
我有一个固定长度的标签,并且自动换行属性设置为 true。在运行时,该标签有两行,例如:
在标签上,此文本显示为两行
我想知道运行时的行数:
#13#10
不起作用。
delphi - Delphi中删除TLabel
我目前动态创建了两个 TLabels 和一个 TEdit,将它们命名为 LblDesc+i、EdtAmount+i 和 LblUnit+i - 其中 i 是一个整数,每次添加这 3 个元素时我都会迭代一个。元素中的数据仅用于模拟目的。我现在的问题是删除三个对象。我试过免费和FreeAndNil,一点运气都没有。任何帮助是极大的赞赏。
delphi - 如何保持标签在滚动框中平稳居中?
我使用TMemo
inTScrollBox
来显示一些文本,并TLabel
在顶部使用 a 作为标题信息。有时备忘录比滚动框更宽,当然Horizontal scroll bar
可以用来左右滚动以查看备忘录中的文本。我希望将标签作为标题始终以滚动框可见区域为中心。我可以通过设置来做到这一点Label1.Left:= (Scrollbox1.Width div 2) - (Label1.Width div 2);
,它可以工作,但它有点闪烁,来回滚动时会摇晃。备忘录移动顺利,标签没有。
这里是单位:
和 dfm:
我尝试使用DoubleBuffered
但没有帮助。
有什么建议可以让 Label1 在不闪烁/抖动的情况下移动,就像 Memo1 在滚动时一样平滑?
编辑:
设计最终将是我在表单上有 3 个或滚动框,每个包含最多 3 个带有标题的备忘录。并且滚动需要通过滚动框进行,因为同一滚动框中的所有备忘录都需要同时滚动。这意味着我看不到如何将标签放在表单或面板上,然后放在表单上,在滚动框之外:
编辑2:
下面的答案确实提供了很好的解决方案,但它们确实有必要将Labels
居中的 ,放在 之外Scrollbox
并放在Form
自身上。然后移动 byScrollbox's
scroll bars
或scroll bars
直接 on Form
。这确实得到了预期的效果,但它增加了一些不便,Labels
不再是 , 的一部分Scrollbox
。
tpanel - 我必须设置什么以便标签文本将自动换行到父面板的宽度?
我正在使用 C++ 生成器。
我创建了一个面板并将所述面板的宽度设置为 350。
我正在使用以下代码来创建标签。
结果是tempLabel2
和tempLabel3
正在扩展的标题超过了包含面板的 350 宽度。我在网上阅读了有关设置AutoSize
为真和WordWrap
真的信息。这次尝试没有成功。
我必须设置什么以便标签文本将自动换行到父面板的宽度?
delphi - 挂钩 Delphi TReader.OnFindComponentClass
怎么能利用TReader.OnFindComponentClass
?TReader
创建是硬编码在TStream.ReadComponent
. 我没有看到可以挂钩事件的地方。
TStream.ReadComponent
不是虚拟的。即使是这样,如果必须推导TStream
,也可以TReader
直接推导,OnFindComponentClass
不会有太大用处。我相信这必须是一些简单的方法来挂钩事件,否则即使没有必要的意义。但我无法识别它。
我问的原因是@DavidHeffernan 的回答:
TLabel 即使在 UI 状态说 not to 时也会显示加速键。
我确保我总是创建
TUIStateAwareLabel
而不是TLabel
通过将表单流机制与TReader.OnFindComponentClass
.
delphi - 我怎么知道一个 TLabel 单词是否包裹了文本?
我创建了一个TLabel
并动态添加文本,效果很好。但是我需要知道标签是否将文本换行,因为它对于标签的宽度来说太大了,或者是否不需要换行,因为文本比标签的宽度短。
我不是想知道标签的WordWrap
属性是设置为真还是假,我想知道它是否包裹了文本。
将and属性设置TLabel
为true,以防万一。AutoSize
WordWrap
delphi - Firemonkey 加速键
我正在寻找一种方法来注册accelerator key
标准方式以外的其他方式,即当带有 的文本accelerator key
设置为tLabel
.
我用谷歌搜索了很多,并没有找到任何类似的东西。
此外,在其他问题中,建议在设置父级之后在创建时设置Label's
Text 属性,但这不起作用,因为Text 和 Parent 属性可能在运行时动态设置。Form's
Label's
Label's
假设表单有 a TEdit
、 aTLabel
和 a ,分别TRectangle
命名为和,下面是一个简短的代码示例MyEdit
MyLabel
MyRect