Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.25;
Скачать: CL | DM;

Вниз

Выделить цветом   Найти похожие ветки 

 
ATLANTIDO ©   (2002-03-08 00:34) [0]

Подскажите плиз ! Как выделить строку в ComboBox другим
цветом ? Может это unreal ?


 
Song ©   (2002-03-08 18:02) [1]

Обрабатывай onDrawItem


 
ATLANTIDO ©   (2002-03-09 00:00) [2]

Вот мой кусок кода:

procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
Var Icon:TIcon;
k : byte;
begin
k:=5;
With TComboBox(Control) Do
Begin
Icon:=TIcon.Create;
try
ImageList1.GetIcon(Index,Icon);
Canvas.FillRect(Rect);
if GameList[Index+1].path="-" then Canvas.TextOut(Rect.Left+5,Rect.Top+2,Items[Index])
else Canvas.TextOut(Rect.Left+27+k,Rect.Top+2,Items[Index]);
Canvas.Draw(Rect.Left+2+k,Rect.Top+2,Icon);
finally
Icon.Free;
end;
End;
end;

Как видно , я выделяю строки путем их смещения (типа абзацы).
Выглядит так:

заголовок1:
.....
.....
.....
заголовок2:
.....
.....
.....

Т. е. выделяются строки по условию GameList[Index+1].path="-".
Хотелось бы их выделять не только позиционированием, но и цветом.
Если я правильно понял, то при обработке события Drawitem
можно динамически шрифт (а если шрифт то и цвет) менять (ComboBox1.Font:= ....) ?



 
Dimk   (2002-03-09 00:24) [3]

А Ты попробуй сначала
SaveColor := Canvas.Brush.Color; // сохранить цвет старый
....
// тут Тебе надо выделить
Canvas.Brush.Color := TipaNewColor; // :o)
Canvas.FillRect(Rect);
....
// потом надо вернуть обратно цвет кисти
Canvas.Brush.Color := SaveColor

Тоже можно и с фонтом проделать - у него есть Color тоже
Canvas.Font.Color


 
ATLANTIDO ©   (2002-03-09 15:30) [4]

Спасибо, разобрался.



Страницы: 1 вся ветка

Текущий архив: 2002.03.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.007 c
1-80568
Priz_Datiy
2002-03-04 16:30
2002.03.25
Как определить первые символ в едите?


3-80439
Draculenok
2002-02-27 14:12
2002.03.25
Не хватает какой-то записи!!!!


1-80496
Шрек
2002-03-12 03:27
2002.03.25
Скомпилировать библиотеку только с нужными функциями


1-80596
.Horol.
2002-03-03 16:40
2002.03.25
посылка нажатых клавиш в дос програму


3-80435
Antony
2002-02-27 12:14
2002.03.25
TQuery.Prepare, сильные утечки памяти