2007. december 24., hétfő
Combobox with colors
Problem/Question/Abstract:
Combobox with colors
Answer:
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;
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése