2011-01-07 105 views
3

如何更改窗體皮膚像標題欄,最大&分鐘按鈕等 我認爲一些Win32 Api的可用於此!如果有人知道分享!c窗口窗體皮膚#

platform: win forms(windows application)in c#。 Os:Windows

+3

要麼獲得DevExpress組件,要麼熟悉P/Invoke的* lots *。 – Josh 2011-01-07 06:47:01

+0

這根本不值得。如果您必須切換到WPF,或者單獨留下UI鑲邊。 – 2011-01-07 07:51:16

回答

5

我假設你的意思是隻能更改單個窗體的窗口鑲邊。

您當然可以使用操作系統在所有窗口中更改窗口外觀,例如Aero,Aero Basic等等。自Windows XP以來,Windows的操作系統樣式已經可用,並允許定義和使用自定義主題。

要自定義單個窗體,您需要自己編寫大量代碼。這有兩個層次。對於不使用Vista/Windows 7 Aero外觀的窗口,則只需響應相應的Windows消息即可。這些包括WM_NCPAINT,WM_NCHITTEST,WM_NCACTIVATE等。當操作系統使用Aero(玻璃窗)時,您需要使用稱爲桌面Windows管理器(DWM)的東西。