Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2008, 23:18   #1
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
Плохо Работа с TCheckListBox

Здравствуйте, помогите мне пожалуйста!
Мне нужно, чтобы при выборе итема в TCheckListBox
цвет итема стал красным, а при следующем клике становился обратно белым. Помогите пожалуйста! Заранее спасибО!
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 26.11.2008, 00:38   #2
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

в свойствах компонента посмотри, там должен быть цвет
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 26.11.2008, 00:54   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

При чем тут цвет компонента? Сие тайна великая есть...
Обрабатывать нужно событие OnDrawItem, там присутствует ссылка на индекс итема. А обработка такого события рассматривалась уже ну, очень много раз...
Да, а стиль нужно сначала установить в lbOwnerDrawFixed.

Последний раз редактировалось mihali4; 26.11.2008 в 00:57.
mihali4 вне форума Ответить с цитированием
Старый 26.11.2008, 02:47   #4
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Попробуйте так:
Код:
Procedure TForm1.CheckListBox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
Begin
With TCheckListBox(Control) Do
Begin
If CbChecked = State[Index] Then
Canvas.Font.Color:=ClRed
Else
Canvas.Font.Assign(Font);
Canvas.TextRect(Rect, 20, Rect.Top, Items[Index]);
End;
End;

Procedure TForm1.CheckListBox1ClickCheck(Sender: TObject);
Begin
TCheckListBox(Sender).Repaint;
End;
Не забудьте поставить свойство Style в lbOwnerDrawFixed.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TCheckListBox Snoopy Компоненты Delphi 2 22.08.2008 10:38
TCheckListBox Xardas Общие вопросы Delphi 10 28.01.2008 09:00
TCheckListBox andrey4623 Общие вопросы Delphi 6 29.12.2007 19:44
TCheckListBox Вопрос Рома Компоненты Delphi 12 06.09.2007 16:38
TCheckListBox - не работает mrandrey Компоненты Delphi 0 30.03.2007 11:17