我建了一個自定義控件,並且對它的主題支持看起來很奇怪。是否有任何方法可以使它始終關閉主題,即使應用程序是使用主題支持構建的?有沒有辦法在選擇時讓按鈕不能繪製輪廓?
編輯:我找到了一種方法來打開關閉,它沒有多大幫助。問題在於它是TBitBtn後面的一個特殊按鈕,每次按鈕被選中時,它都會嘗試用虛線畫出一個邊框並阻礙它。我怎樣才能將關閉?
我建了一個自定義控件,並且對它的主題支持看起來很奇怪。是否有任何方法可以使它始終關閉主題,即使應用程序是使用主題支持構建的?有沒有辦法在選擇時讓按鈕不能繪製輪廓?
編輯:我找到了一種方法來打開關閉,它沒有多大幫助。問題在於它是TBitBtn後面的一個特殊按鈕,每次按鈕被選中時,它都會嘗試用虛線畫出一個邊框並阻礙它。我怎樣才能將關閉?
你可以嘗試複製的實施TBitBtn.DrawItem並根據您的需求進行調整。在代碼裏搜索IsFocused應該會給你一個指導。
要調用已修補的代碼,還必須通過實現類似的消息處理程序來鏈接CNDrawItem方法。
ü可以禁用主題爲使用UxTheme.pas
發現SetWindowTheme
作用的成分,這將禁用主題按鈕和進度
...
SetWindowTheme(Button.Handle, ' ', ' ');
SetWindowTheme(ProgressBar.Handle, ' ', ' ');
...
謝謝!我已經不得不復制該功能,以使事情正常工作。 IsFocused正是我所期待的。 –