读书人

TcomboBox下拉内容的背景颜色解决方案

发布时间: 2012-02-11 09:51:34 作者: rapoo

TcomboBox下拉内容的背景颜色

如图,如何才能把下拉内容选择后的背景蓝颜色去掉, 选择完以后就是白色底那样

[解决办法]
加一句,改变边框线条颜色

C/C++ code
void __fastcall TForm1::ComboBox1DrawItem(TWinControl *Control, int Index,      TRect &Rect, TOwnerDrawState State){   TComboBox *cbb = (TComboBox *)Control;   String strText = cbb->Items->Strings[Index];   cbb->Canvas->Brush->Color = clWhite;   cbb->Canvas->FillRect(Rect);   if(State.Contains(odSelected))   {       if(State.Contains(odFocused))           ::DrawFocusRect(cbb->Canvas->Handle, &Rect);       if( cbb->DroppedDown )       {          cbb->Canvas->Pen->Color = clBlack;  //边框线条颜色            cbb->Canvas->Brush->Color =   RGB(49,106,197);           cbb->Canvas->Rectangle(Rect.Left, Rect.Top, Rect.Right, Rect.Bottom);       }       else       {          cbb->Canvas->Pen->Color = clWhite;  //边框线条颜色          cbb->Canvas->Brush->Color = clWhite;      //背景色 你要的颜色          cbb->Canvas->Rectangle(Rect.Left, Rect.Top, Rect.Right, Rect.Bottom);       }   }   cbb->Canvas->Font->Color = clBlack;   cbb->Canvas->Brush->Style = bsClear;   cbb->Canvas->TextOutA(Rect.Left + 2, Rect.Top , strText); 

读书人网 >C++ Builder

热点推荐