|
Вопрос # 693/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!как в listbox изменить цвет текста, но только одного item
 |
Вопрос задал: Аксион (статус: 4-ый класс)
Вопрос отправлен: 3 июля 2007, 12:38
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, ММО!
Есть один надёжный способ - написать собственную прорисовку. В результате не только цвет можно задать, а хоть в сеточку фон прорисовать:)
Пример в приложении. Он сделает чётные серыми, а нечётные - жёлтыми.
Приложение: Переключить в обычный режим-
-
- Code:
- procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
- Rect: TRect; State: TOwnerDrawState);
- var
- myColor: TColor;
- myBrush: TBrush;
- begin
- myBrush := TBrush.Create;
- with (Control as TListBox).Canvas do
- begin
- if not Odd(Index) then
- myColor := clSilver
- else
- myColor := clYellow;
- myBrush.Style := bsSolid;
- myBrush.Color := myColor;
- Windows.FillRect(handle, Rect, myBrush.Handle);
- Brush.Style := bsClear;
- TextOut(Rect.Left, Rect.Top,
- (Control as TListBox).Items[Index]);
- MyBrush.Free;
- end;
- end;
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 3 июля 2007, 12:52
Оценка за ответ: 5
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|