我的目標是繪製一個不是矩形的組框,而是將角切掉。我並不是說只是剪掉角落,而是有一個連續的封閉路徑,角落是「縮進」的。我希望這可以匹配當前主題的顏色/風格。獲取Group Box行的主題屬性
我注意到在Windows XP上,組框有1個像素的灰線,但在Windows 7上有一個灰線旁邊的白線(內部的白線除外底部位於灰線下方)。
您可以使用像這樣得到一組框的文本標籤的顏色:
COLORREF cref;
GetThemeColor(hTheme, BP_GROUPBOX, GBS_NORMAL, TMT_TEXTCOLOR, &cref);
所以,我試圖找出如何讓顏色(S)和/或性能然後(我希望能夠)通過單獨繪製我想要的每一個形狀來繪製我想匹配Group Box樣式的線條。我不確定使用什麼屬性來描述這些線條,或者DrawRect函數是否會使用合適的Pen繪製3D效果。有沒有辦法設置畫筆來繪製這些3D效果(雙陰影平行線)?
謝謝。
一個組框不關注主題,無論窗口背景顏色如何,它們總是灰色和白色。嘗試一下。不能從主題api中獲得。只需對它們進行硬編碼。 – 2011-05-08 20:09:31
在Windows經典主題中,它們有方形角。在Windows XP + 7上,它們是四捨五入的。當主題顏色改變時,文本標籤的顏色會發生明顯的變化。我不能硬編碼,因爲那樣他們就不能匹配不同主題或Windows版本的其他組框。 – JohnPS 2011-05-09 04:19:03