我有一個用C++編寫的MDI應用程序,在Windows XP下看起來不錯。所有的MDI子窗口最終都看起來像他們的父窗口。尼斯。但是,在Windows 7(可能是Vista)下,父窗口有空氣玻璃,而子窗口是這種可怕的不可改變的寶藍色(與Windows 7 Basic主題相同)。所以我的應用程序看起來非常糟糕。在Windows 7下更改MDI子窗口的顏色
您可以通過啓動Office 2003來查看同樣的醜陋行爲,並嘗試查看MDI子窗口(可能在Excel中)。但是,Office 2007實際上有三種顏色主題 - 藍色,銀色和黑色。這些主題以某種方式進入Excel中的MDI子窗口。
我不知道微軟是如何在Office 2007中這樣做的。我很想知道這個訣竅。我需要鉤住並接管我的MDI子窗口的繪圖,並複製Office 2007團隊已經完成的任務。問題是我想要使用所有DrawTheme *調用,所以我得到漸變和圓角邊緣和按鈕都正確繪製。所有這些系統調用都需要一個主題句柄。但是,例如,它似乎不可能使用SetWindowTheme更改爲使用其他主題的顏色方案。至少據我所知。
任何人都知道微軟是如何做到這一點的?
我真的很討厭這樣做,因爲它違反了GUI標準,但如果微軟提供了一些在Windows 7下調整MDI兒童顏色的功能,我甚至不需要考慮這一點。 – dsmtoday 2009-08-27 11:48:10