gpt4 book ai didi

windows - TabCtrl_SetItemSize 和用户绘制的选项卡控件

转载 作者:可可西里 更新时间:2023-11-01 10:10:15 24 4
gpt4 key购买 nike

我有这个 Win32 用户绘制的选项卡控件,它创建为:

    CONTROL "Tab1",IDC_TAB_CONT,"SysTabControl32",TCS_BOTTOM | 
TCS_OWNERDRAWFIXED | NOT WS_VISIBLE,0,14,185,88

我希望此控件能够调整其选项卡的大小,因为永远不必看到“滑动箭头”:

alt text

现在,除了它不会响应 TabCtrl_SetItemSize 之外,这个控件的几乎所有内容都按预期工作。尽我所能,当我绘制标签时(在传递给 WM_DRAWITEMDRAWITEMSTRUCT 中),我得到的标签大小始终是适合最长标题的大小它们,而不是我用 TabCtrl_SetItemSize 设置的大小。

但是,在 TabCtrl_SetItemSize documentation ,它说:

[TabCtrl_SetItemSize] sets the width and height of tabs in a fixed-width or owner-drawn tab control.

我设法调整大小的唯一方法是通过向控件发送 TCM_SETITEM 消息并在其中写入所需的文本来在其中设置所需长度的虚拟字符串画时间。这很不方便,也不是特别好的 hack。

有没有人知道

  1. 为什么 TabCtrl_SetItemSize 没有按预期工作?和/或
  2. 如何正确设置制表符大小?

非常感谢,

快乐。

最佳答案

  • 设置 TCS_OWNERDRAWFIXED 样式是不够的,您还必须添加 TCS_FIXEDWIDTH 样式。

  • 如果有图标,选项卡的最小尺寸至少为图标宽度 + 3。
    如果您有图标(附加到 tabControl 的 imageList),即使宽度固定(如果可用空间小于:选项卡数量*(图标宽度+3),您也可能会得到那些“滑动箭头”

关于windows - TabCtrl_SetItemSize 和用户绘制的选项卡控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1390460/

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