Mega Code Archive

 
Categories / Delphi / Examples
 

Combobox with colors

It is quite easy to create a combobox that shows a list of colors. You need to set the property Style to "csOwnerDrawFixed". This causes a call of OnDrawItem for each item in your combobox. The DrawItem routine draws a color bar.. // in FormCreate: with ComboBox1.Items do begin Add(IntToStr(clRed)); Add(IntToStr(clFuchsia)); Add(IntToStr(clBlue)); Add(IntToStr(clGreen)); Add(IntToStr(clYellow)); end; procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index : Integer; Rect: TRect; State: TOwnerDrawState); begin with Control as TComboBox,Canvas do begin // fill the rectangle first with white Brush.Color := clWhite; FillRect(Rect); // then reduce it and fill it with the color InflateRect(Rect,-2,-2); Brush.Color := StrToInt(Items[Index]); FillRect(Rect); end; end;