2010-03-06 47 views
2

在我的一个小项目中,我遇到了可折叠组合框的需求。如何在Windows 7中使用VisualStyleRenderer?

寻找网络,我找到了一个here。在one of the comments对使用​​VisualStyleRenderer类的原始代码进行了改进,以获取TreeView打开和关闭的字形。

运行代码,正确绘制Plus和Minus歌曲,Windows XP将绘制它,但是在Windows Vista和Windows 7中,打开和关闭节点的字形是小三角形。

什么样的接口,类或PInvoke,我需要使用以获得正确的字形?

回答

1

默认情况下,TreeViews与Windows 7和Vista中的XP具有相同的外观。为了得到小箭头字形,你需要设置控件的窗口主题:

SetWindowTheme(hwnd, L"explorer", NULL) 

这也可以用于ListViews。

我不确定可折叠组合框如何呈现折叠/展开按钮,所以我不知道如何让它使用资源管理器主题绘制它们。

相关问题