DelphiFAQ Home Search:

Combobox with colors

 

commentsThis article has not been rated yet. After reading, feel free to leave comments and rate it.

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;


Comments:

 

 

NEW: Optional: Register   Login
Email address (not necessary):

Rate as
Hide my email when showing my comment.
Please notify me once a day about new comments on this topic.
Please provide a valid email address if you select this option, or post under a registered account.
 

Show city and country
Show country only
Hide my location
You can mark text as 'quoted' by putting [quote] .. [/quote] around it.
Please type in the code:

Please do not post inappropriate pictures. Inappropriate pictures include pictures of minors and nudity.
The owner of this web site reserves the right to delete such material.

photo Add a picture: