使 MFC CTabCtrl 不使用绘图选项卡的完整控件宽度

Posted

技术标签:

【中文标题】使 MFC CTabCtrl 不使用绘图选项卡的完整控件宽度【英文标题】:Making an MFC CTabCtrl not use the full control width for drawing tabs 【发布时间】:2012-10-29 16:49:49 【问题描述】:

我们有一个涉及更改应用程序的请求,即使我们的一个选项卡控件只能访问控件的部分宽度以绘制选项卡,这样我们就可以粘贴一些侧面剩余区域中的附加状态文本。

一张图片可能会有所帮助:

如您所见,选项卡控件一直延伸到对话框的右侧,但我们希望为“总库存成本”保留一个区域,并且我们希望确保其他选项卡(常见的)不会不要侵占那个区域。

除了完全重写应用程序之外,我对几乎任何实现此功能的方法都持开放态度。如果有更好的选项卡控件,我们可以切换选项卡控件,或者在合理范围内更改选项卡设置的实现。

我原以为可以分别设置客户区和选项卡绘制矩形区域,但似乎并非如此。如果我错了,请纠正我。

任何帮助表示赞赏!

【问题讨论】:

【参考方案1】:

如果我理解正确,你得到的是这个

主窗口的客户区:

-> tab ctrl 占据整个区域 -> 选项卡控件之上的一些其他控件

你能做的就是这个

主窗口的客户区:

-> 底部的小标签控件 -> 主窗口客户区的所有其他控件

【讨论】:

是的,您确实理解正确!谢谢,我以前做过类似的事情,所以这是我们目前最好的选择,除非其他人想出更简单的方法。 接受这一点,尽管我认为我们将稍微调整 UI 中的布局以使这个问题无关紧要。谢谢!

以上是关于使 MFC CTabCtrl 不使用绘图选项卡的完整控件宽度的主要内容,如果未能解决你的问题,请参考以下文章

MFC CTabCtrl如何为选项卡添加关闭按钮

在 CTabCtrl 中,我可以在运行时更改选项卡的图标吗

在 MFC 中将选项卡添加到 CTabCtrl

C++ MFC 为 CTabCtrl 中的每个选项卡附加不同的对话框

如何更改 CTabCtrl 选项卡颜色?

如何更改CTabCtrl选项卡颜色?