- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我注意到,当您将按钮的样式设置为 tbsDropdown 时,TToolButton 的高度会增加。我可以理解宽度增加,因此按钮有空间绘制向下箭头,但我不确定是否有必要增加高度。
重现该问题的步骤(Delphi 2010、Windows 7 x64):
当有图像分配给工具栏,在这种情况下已经有更多的垂直空间可用在按钮中绘制下拉菜单。
这是一个直观的示例: 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.ButtonWidth
和 ButtonHeight
均设置为 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.
由于 SetStyle
将 ButtonWidth
和 ButtonHeight
设置为 0,因此该消息似乎已正确发送。
关于delphi - TToolButton 高度随 Style = tbsDropdown 增长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2522093/
我正在使用 Delphi 2010,并且我有一个 TToolBar 包含的 TToolButton。分配给我的 TToolButton 的“DropdownMenu”属性的是一个标准的 TPopupM
我使用的是Delphi XE5。 我正在尝试按照 Delphi 关于 TToolButton 组件的帮助进行锻炼。 Delphi 帮助中关于 TToolButton.AllowAllUp 属性的说明:
我正在尝试从使用 Toolbar2000 切换到常规工具栏,因为似乎没有 Delphi XE2 版本,而且看起来它使用了一些程序集,而且我只是不想处理它,如果我不必。 (而且我真的很喜欢 Delphi
我注意到,当您将按钮的样式设置为 tbsDropdown 时,TToolButton 的高度会增加。我可以理解宽度增加,因此按钮有空间绘制向下箭头,但我不确定是否有必要增加高度。 重现该问题的步骤(D
我是一名优秀的程序员,十分优秀!