![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите раскрасить ComboBox [D7, XP]
03111978 © (2010-09-15 07:26:00)Необходимо в комбобоксе иметь 4 цвета при выборе. Т.е. раскрасить итемсы. Можно такое реализовать ?
Джо (2010-09-15 16:40:00) [1]
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
Clr: TColor;
begin
case Index of
0: Clr := clRed;
1: Clr := clYellow;
2: Clr := clBlue;
3: Clr := clGreen;
end;
TComboBox(Control).Canvas.Brush.Color := Clr;
TComboBox(Control).Canvas.FillRect (Rect);
end;
Четыре строки только в комбо добавить в дизайнере.
Джо (2010-09-15 16:34:00) [2]Style := csOwnerDrawFixed и в OnDrawItem хоть черта лысого можно рисовать.
03111978 (2010-09-15 08:51:00) [3]Сделал вот так :
var
i : integer;
begin
i := 0;
with colorbox1.Items do
while i <= Count - 1 do
if (Strings[i] <> 'clFuchsia') and (Strings[i] <> 'clYellow') and (Strings[i] <> 'clGreen') and (Strings[i] <> 'clWhite') then
colorbox1.Items.Delete(i)
else
inc(i);
end;
Вроде то что надо, но как еще от названий цветов избавиться и эти квадратики с цветами растянуть на все полу комбобокса ?
Ega23 (2010-09-15 08:46:00) [4]
> Там все стандартные цвета, а мне хотелось бы только 4 моих
> цвета.
TColorBox.Style ?
03111978 (2010-09-15 08:35:00) [5]
> Чем TColorBox не устраивает?
>
Там все стандартные цвета, а мне хотелось бы только 4 моих цвета. Можно в нем как то такое реализовать ? Я все облазил, ничего не нашел. Подскажите плиз ....
Ega23 (2010-09-15 08:19:00) [6]Чем TColorBox не устраивает?