gpt4 book ai didi

delphi - TToolButton 高度随 Style = tbsDropdown 增长

转载 作者:行者123 更新时间:2023-12-03 14:53:50 38 4
gpt4 key购买 nike

我注意到,当您将按钮的样式设置为 tbsDropdown 时,TToolButton 的高度会增加。我可以理解宽度增加,因此按钮有空间绘制向下箭头,但我不确定是否有必要增加高度。

重现该问题的步骤(Delphi 2010、Windows 7 x64):

  • 将 TToolbar 添加到表单,ShowCaptions=True
  • 右键单击可将按钮添加到工具栏
  • 设置按钮 Style=tbsDropDown 并注意按钮的高度增加

当有图像分配给工具栏,在这种情况下已经有更多的垂直空间可用在按钮中绘制下拉菜单。

这是一个直观的示例: alt text http://img440.imageshack.us/img440/1462/ttoolbar02.png alt text http://img291.imageshack.us/img291/966/ttoolbar01.png

是否有解决方法,无需破解 VCL,或者是否已将其硬编码到 Windows 控件中?

最佳答案

它是底层 Windows 控件的一部分。快速浏览一下 ComCtrls 就会发现,更改 TToolButton.Style 会调用它的 SetStyle 方法。如果在 SetStyle 中,ShowCaptions 为 True,则 TToolBar.ButtonWidthButtonHeight 均设置为 0,并且调用TToolButton.RecreateButtons

RecreateButtons 依次调用 TToolBar.ResizeButtons,它只是使用

ToolBar 发送(发布)一条消息
Perform(TB_AUTOSIZE, 0, 0);

TB_AUTOSIZE 旨在根据 MSDN 使用,

after causing the size of a toolbar to change either by setting the button or bitmap size or by adding strings for the first time.

由于 SetStyleButtonWidthButtonHeight 设置为 0,因此该消息似乎已正确发送。

关于delphi - TToolButton 高度随 Style = tbsDropdown 增长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2522093/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com