Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.01.2009, 17:43
ApplicatiOn ApplicatiOn вне форума
Активный
 
Регистрация: 28.02.2008
Сообщения: 388
Репутация: -10
По умолчанию не могу снять синий фон со строки ДшыеИщч

как снять синий фон со строки лист бокса когда я снимаю выделение? а то выделение снято, а фон остался...
Ответить с цитированием
  #2  
Старый 20.01.2009, 19:10
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,034
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Отрисовывать строки руками. На самом деле в описанном случае это не выделение, а текущая строка. Можешь попробовать указать ItemIndex := -1. Но в этом случае у тебя не будет активного Item'а.
Ответить с цитированием
  #3  
Старый 20.01.2009, 19:39
ApplicatiOn ApplicatiOn вне форума
Активный
 
Регистрация: 28.02.2008
Сообщения: 388
Репутация: -10
По умолчанию

как отрисовать руками?

пример с -1 не работает:

Код:
procedure TForma.ListBox1Click(Sender: TObject);
begin
if not ListBox1.Selected[ListBox1.ItemIndex] then
ListBox1.ItemIndex := -1
end;
Ответить с цитированием
  #4  
Старый 20.01.2009, 20:14
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,034
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

В стиле ставишь OwnerDrawFixed и обрабатываешь событие OnDrawItem. Там по параметрам посмотришь - State - это состояние рисуемого итема.
Ответить с цитированием
  #5  
Старый 20.01.2009, 20:25
ApplicatiOn ApplicatiOn вне форума
Активный
 
Регистрация: 28.02.2008
Сообщения: 388
Репутация: -10
По умолчанию

А какие значения у State бывают?
Ответить с цитированием
  #6  
Старый 20.01.2009, 21:56
ApplicatiOn ApplicatiOn вне форума
Активный
 
Регистрация: 28.02.2008
Сообщения: 388
Репутация: -10
По умолчанию

мне кажется меня не поняли.. при клике на компонент ListBox, если элемент не выделен то снять выделение с другого компонента, а если строка выделена, то всеравно не отображать синий фон, а отображать только саму пунктирную рамку которая находится вокруг элемента...
Ответить с цитированием
  #7  
Старый 20.01.2009, 22:04
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,034
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А вот только так.

Код:
TOwnerDrawState = set of (odSelected, odGrayed, odDisabled, odChecked,
    odFocused, odDefault, odHotLight, odInactive, odNoAccel, odNoFocusRect,
    odReserved1, odReserved2, odComboBoxEdit);
Ответить с цитированием
  #8  
Старый 20.01.2009, 22:44
ApplicatiOn ApplicatiOn вне форума
Активный
 
Регистрация: 28.02.2008
Сообщения: 388
Репутация: -10
По умолчанию

а куда это все?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:51.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter