Tom*_*omB 7 windows delphi vcl
我注意到在(Windows 10 64 位上的 Delphi 10.3.3 32 位 VCL 应用程序)应用程序中,如果字符串“真的”很长,标签的标题将不会显示。进一步的测试表明它不限于 TLabel。TStaticText 也以相同的方式运行,可能所有的 TGraphicControls 也是如此。
对于表单上的 TLabel,测试表明如果标题长度为 43,679 个字符,它将显示标题。但再过一段时间,标题就会消失。自动调整大小、自动换行和 EllipsisPosition 的组合没有改变这种行为。跟踪 delphi 代码,它归结为 VCL.Controls 中的 2 条语句:
Perform(WM_SETTEXT, 0, Buffer);
Perform(CM_TEXTCHANGED, 0, 0);
Run Code Online (Sandbox Code Playgroud)
Buffer 在所有情况下都保存了正确的标题字符串值。但是在43,680 个字符时,标题消失了。所以它似乎是 Windows 限制,但我找不到任何确认。
归档时间: |
|
查看次数: |
140 次 |
最近记录: |