我正在更新黑色背景上的白色文本的Win32應用程序的GUI。這對我的內容很簡單。但我怎麼能改變我的孩子的窗口(標題欄,滾動條等)的顏色。我知道有WM_CTLCOLORDLG
設置對話框的顏色。我也知道有WM_NCPAINT
,但那會讓所有的繪畫(即滾動條)留給我。我想要的就是設置我選擇的顏色。Win32:我如何設置窗口標題,滾動條等的顏色?
2
A
回答
1
您可以使用SetSysColors()更改窗口標題,邊框等的顏色(請參閱http://msdn.microsoft.com/en-us/library/ms724940(VS.85).aspx)。然而,這會改變所有窗口的顏色,而不僅僅是你的顏色,所以它至少是不友好的事情。
一種選擇是使用SetSysColors()在應用程序獲得焦點時更改活動窗口標題顏色,並在焦點丟失時將其重置爲默認值。但我會說這是klunky,並沒有真正保持良好的習慣(假設你的應用程序崩潰了,並且可能會有一些閃爍)。
WM_NCPAINT在那裏,所以你可以做這樣的事情。這是一個有點痛,但也許這是從創建非標準窗口阻止你... ;-)
1
鉤GetSysColor()(使用類似微軟走彎路)
相關問題
- 1. C++ win32:如何設置窗口的顏色?
- 2. 如何更改設置位置的滾動條軌道顏色?
- 3. 設置窗口的標題欄顏色 - electron.js
- 4. 如何設置VirtualStringTree標題的顏色?
- 5. 隱藏帶Overflow-y的窗口滾動條設置爲滾動
- 6. 一種將win32窗口滾動條設置在左側的方法?
- 7. 如何設置GroupBox標題顏色
- 8. 設置gridview標題顏色
- 9. 如何更改滾動條的顏色
- 10. 如何更改滾動條的顏色
- 11. 如何將Win32窗口設置爲WPF窗口的所有者?
- 12. 在Lion中設置打火機(白色)滾動條顏色
- 13. 更改窗口標題顏色
- 14. 可可:如何設置窗口標題?
- 15. Java窗口未設置背景顏色?
- 16. 顯示彈出窗口時設置標籤欄圖標顏色?
- 17. 如何更改eclipse滾動條顏色
- 18. 浮動DIV滾動條問題。刪除窗口滾動條
- 19. 我如何設置字體和顏色使用Win32
- 20. 更改顏色條標題的位置
- 21. 如何將顏色設置爲窗口的突出顯示顏色?
- 22. UIScrollView滾動條顏色?
- 23. ITK設置顏色窗口/顏色級別
- 24. 如何設置pygtk窗口的背景顏色
- 25. 如何設置enaml窗口的背景顏色?
- 26. 如何在註冊後設置窗口的背景顏色?
- 27. 如何使用Win32 API爲窗口設置動畫?
- 28. showModalDialog窗口垂直滾動條自動設置爲頂部
- 29. 設置TabPage的標題顏色
- 30. 設置靜態文本顏色Win32
的Win32 API中在很大程度上照顧給予用戶使用Display控制面板小程序選擇她喜歡的主題時選擇的顏色。是的,你可以做你自己的繪畫來強制你的顏色選擇。 – 2010-01-13 13:20:18
標題(標題欄)不是子窗口;它是窗口非客戶端('WM_NCPAINT'中的'NC')區域的一部分。 – MSalters 2010-01-13 13:20:45
我正在談論有一個自己的標題欄的子窗口。該應用程序創建了其中的一些。他們的灰色標題上的黑色與現在是黑色的白色應用程序的其餘部分發生衝突。 – 2010-01-13 13:59:21