为什么属性表中的图标以如此少的颜色呈现?

时间:2013-03-12 16:18:12

标签: winapi explorer windows-shell shell-extensions propertysheet

我正在创建一个property sheet shell extension,并希望有一个小图标来从标准系统标签中设置我的属性选项卡。不幸的是,我的图标几乎全部呈现为灰色。

原始图片:

在属性表标签中:

起初我以为这是我的问题,但后来我发现TortoiseSVN似乎有同样的问题:

在Windows 7和Windows 8中都会发生这种情况。

有谁知道为什么这些图像看起来如此静音?另外,是否有任何关于如何使图标看起来好看的提示?

2 个答案:

答案 0 :(得分:4)

PropertySheet函数使用16色(ILC_COLOR)ImageList初始化其选项卡控件,并将每个页面提供的图标复制到其中。似乎没有办法覆盖它并提供您自己的ImageList(或指定创建的ImageList的位深度)。据推测,这是原始Windows 95代码的遗留问题,随着事情的发展,它从未得到更新。

答案 1 :(得分:0)

您可以使用Tab Control代替Property Sheets,这使得标签管理更加灵活和清晰。当然,您可以使用任何类型的图标,因为您必须创建自己的ImageList。

在这里,您可以阅读Tab控件:

http://msdn.microsoft.com/en-us/library/windows/desktop/bb760548(v=vs.85).aspx

在这里,您可以访问Tab Controls的示例用法:

Icons in Win32 Property Pages are ugly - 4 bit icons