2

垂直选项卡(在 TPageControl 中)未正确呈现。选项卡标题中的文本丢失。在 Internet 上搜索,我发现这仅适用于 Win XP,并且仅在将主题应用于这些控件时才会发生。它适用于 Win Vista 及更高版本:

http://www.codeproject.com/Questions/153186/Vertical-Text-in-a-Tab-Control-Will-Not-Display http://www.windows-api.com/microsoft/VB-Controls/30463755 /麻烦与tabcontrol.aspx

我正在考虑禁用主题但不是整个项目,仅在 TTab 或 TPageControl 上,但如何?还有其他快速解决方案吗?


德尔福 XE

4

1 回答 1

2

并非 Windows 内置选项卡控件的所有功能都支持主题。垂直对齐的标签就是这样一种功能。

第一篇链接文章中的代码显示了如何禁用控件的主题。调用SetWindowTheme它,为两个字符串参数传递空字符串或简单空格。(文档说“空字符串”,但随后演示了一个包含空格的单字符字符串。)


请注意,如果RecreateWnd曾经调用过 VCL 控件的函数,则需要重新应用主题设置,因为它将有一个新的窗口句柄。处理这个问题的一种方法是创建一个后代控件和覆盖CreateWnd,它在创建窗口句柄后调用。这是对窗口应用特定于句柄的更改的最佳机会。

于 2013-09-12T16:12:51.010 回答