|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
не могу снять синий фон со строки ДшыеИщч
как снять синий фон со строки лист бокса когда я снимаю выделение? а то выделение снято, а фон остался...
|
#2
|
|||
|
|||
Отрисовывать строки руками. На самом деле в описанном случае это не выделение, а текущая строка. Можешь попробовать указать ItemIndex := -1. Но в этом случае у тебя не будет активного Item'а.
|
#3
|
|||
|
|||
как отрисовать руками?
пример с -1 не работает: Код:
procedure TForma.ListBox1Click(Sender: TObject); begin if not ListBox1.Selected[ListBox1.ItemIndex] then ListBox1.ItemIndex := -1 end; |
#4
|
|||
|
|||
В стиле ставишь OwnerDrawFixed и обрабатываешь событие OnDrawItem. Там по параметрам посмотришь - State - это состояние рисуемого итема.
|
#5
|
|||
|
|||
А какие значения у State бывают?
|
#6
|
|||
|
|||
мне кажется меня не поняли.. при клике на компонент ListBox, если элемент не выделен то снять выделение с другого компонента, а если строка выделена, то всеравно не отображать синий фон, а отображать только саму пунктирную рамку которая находится вокруг элемента...
|
#7
|
|||
|
|||
А вот только так.
Код:
TOwnerDrawState = set of (odSelected, odGrayed, odDisabled, odChecked, odFocused, odDefault, odHotLight, odInactive, odNoAccel, odNoFocusRect, odReserved1, odReserved2, odComboBoxEdit); |
#8
|
|||
|
|||
а куда это все?
|