2010-03-06 31 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。

我不確定可摺疊組合框如何呈現摺疊/展開按鈕,所以我不知道如何讓它使用資源管理器主題繪製它們。