2008-10-05 34 views
3

即時通過WM_NCPAINT,WM_NCCALCSIZEWM_NCACTIVATE來爲我正在處理的應用程序繪製自己的顏色/主題標題欄。現在這個工作很好,但min,max和close按鈕仍然是xp默認主題。更改最小/最大/關閉按鈕主題

我看着什麼控制他們和鼠標消息做。然而,他們也控制了我不想失去的大小和其他功能。

有沒有一種簡單的方法只是改變這些按鈕的主題?

  • 的Windows XP
  • MFC窗體
  • 的Visual Studio 2005
+0

程序,傲慢地覆蓋我的選擇圖形界面的美觀是我人生的寵物之一恨。只是不要這樣做。讓用戶的最大,最小和關閉按鈕看起來像用戶選擇他們看起來! – 2008-10-05 08:36:16

+0

如果這是具有可定製外觀的應用程序的一部分,該怎麼辦?誰說過有關用戶的任何事情都沒有發言權? – 2008-10-05 09:03:14

回答

2

我覺得這裏最好的辦法是禁用按鈕,並用一個類似於到the code I posted in this answer重繪他們。這是一個在C#與的WinForms,但絕大多數被重載的WndProc()無論如何,你應該能夠使用幾乎複製/粘貼到MFC。

實現點擊處理程序做你想讓他們做的是平凡的。

注:這個問題的提問者說,代碼沒有工作在Vista。我沒有Vista盒子,但它適用於XP。

0

您還可以看看它是如何在MFC下(VS2008 SP1)來完成。主題支持自定義繪製整個標題欄,你可以從中得到一些想法。我相信,他們測試了Vista的,太;)

相關問題