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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.08.2008, 23:46
lmikle lmikle сейчас на форуме
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию FocusRect в TListBox

Как отучить TListBox рисовать FocusRect (пунктирный прямоугольник вокруг текущего итема)? Надо отучить его рисовать вообще. Желательно без создания своего контрола.

Да, используется стиль lbOwnerDrawFixed.
Ответить с цитированием
  #2  
Старый 04.08.2008, 13:53
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Странно, что опытный imikle спрашивает о таком пустяке.
Разве собятия OnDrawItem недостаточно, что проделывать с ListBox чего надо? Тем более, в справке все написано что и как. Есть и пример.
__________________
Не забывайте делать резервные копии
Ответить с цитированием
  #3  
Старый 04.08.2008, 15:08
lmikle lmikle сейчас на форуме
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А вот, оказывается, недостаточно.
Собственно, покопавшись в сырцах, я понял как это делать.
Вся проблема в том, что код написан таким образом, что этот FocusRect рисуется ВСЕГДА вне зависимости от того кто отрисовывает итем.
В общем, надо наследоваться и перекрывать метод DrawItem. Еще вопрос остался как сделать так, что бы не править VCL и не создавать свой компонент. Сейчас не до того, попозже попробую засабклассить это дело.
Ответить с цитированием
  #4  
Старый 04.08.2008, 16:05
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Я копировал этот StdCtrls в папку с проектом. Это было достаточно, что компилятор брал этот модуль, а не штатный.
__________________
Не забывайте делать резервные копии
Ответить с цитированием
  #5  
Старый 04.08.2008, 17:30
lmikle lmikle сейчас на форуме
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Этот фокус тоже знаю.
Просто сейчас не до того, надо главный функционал наваять.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter