我需要執行一些自定義繪畫,並且當自定義控件中的某個項目被按下或懸停時,我想顯示突出顯示的項目狀態。 PS。這是Windows 2000的非主題繪畫,在較高的操作系統上具有高對比度(或選定時)。突出顯示時的菜單背景顏色(clHightlightText不起作用)
if (State != rsNormal)
{
Canvas->Brush->Color = clHighlight ;
Canvas->Font->Color = clWhite ; // clHightlightText ;
}
else
{
Canvas->Brush->Color = clBtnFace;
Canvas->Font->Color = clBtnText ;
}
當前的代碼,上面,完全適用於我的需要但Font->Color
clwhite
當然是我所看到的是在Win2K,WinXP的等情況,但它不是一個系統的顏色,我擔心有可能clHighlight
可能是與clWhite
對比不足的顏色。
documentation提到:clHightlightText
,這基本上是我需要的,但是我的編譯器C++ Builder 2009並不知道這個系統的顏色和文檔沒有提供鏈接的事實(不同於其他顏色)也不好看。
如何獲取突出顯示文本的非硬編碼值?
您鏈接到的文檔已過時。當前的文檔是[here](http://docwiki.embarcadero.com/Libraries/en/Vcl.Graphics.TColor)。另請參閱[VCL中的顏色](http://docwiki.embarcadero.com/RADStudio/en/Colors_in_the_VCL)。 –
@RemyLebeau - 我想我結束了較早的幫助版本,因爲我搜索了'clHightlightText'。因此,由於錯字,我最終找到了有錯字的在線版本。 – Peter