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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2010, 18:57   #1
DarkEN_ANGEL
 
Регистрация: 21.01.2010
Сообщений: 9
Вопрос Перерисовка TlistBox

Перерыв пол инета в поиске решения своей проблеммы ничего не нашёл...
Уважаемые форумчане, подскажите пожалуйста как в TListBox изменить вертикальный scrollBar на свой графический, желательно с возможностью загрузки изображений для каждого его элемента.
DarkEN_ANGEL вне форума Ответить с цитированием
Старый 26.01.2010, 12:49   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Ничего не получится. TListBox лишь дельфийская надстройка (и то скудная) над виндовым объектом, куда "вход посторонним строго запрещен".
Выход один - делать свой компонент ListBox.
Скандербег вне форума Ответить с цитированием
Старый 26.01.2010, 21:59   #3
DarkEN_ANGEL
 
Регистрация: 21.01.2010
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Скандербег Посмотреть сообщение
Выход один - делать свой компонент ListBox.
Тогда не могли бы вы мне объяснить принцип работы этого компонента и подсказать на базе какого класса его можно (надо) писать. Спасибо.
DarkEN_ANGEL вне форума Ответить с цитированием
Старый 26.01.2010, 22:48   #4
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Сильное желание. Рассказать о принципах работы, особенно, здесь, на форуме.
Вот что в справке (вольный перевод):

Цитата:
TListBox используется для отображения скроллируемых элементов, которые пользователь может выделять, добавлять или удалять. TListBox - это обертка над Windows listbox компонентом.
Для специализированных компонентов listbox с иным поведением, используйте другие наследники класса TCustomListBox или создавайте собственный класс от TCustomListBox.
TListBox реализует общее поведение представленное в TCustomListBox.
TListBox наследует много свойств от TCustomListBox, но не добавляет каких-либо новых.
А что делать? Много зависит от целей. Прежде надо представить всю функциональность этого компонента. Для чего он, вообще, нужен.
Вполне возможно, что компоненты, если не со всеми нужными свойствами, то хотя бы с большинством из них, можно найти на специализированных сайтах (torry.net можно пошерстить, например).

Последний раз редактировалось Скандербег; 26.01.2010 в 22:51.
Скандербег вне форума Ответить с цитированием
Старый 26.01.2010, 23:04   #5
DarkEN_ANGEL
 
Регистрация: 21.01.2010
Сообщений: 9
По умолчанию

C функциональностью я разобрался. Пока не осенило как отрисовывать это всё ПРАВИЛЬНО(items, скроллбары и всё такое)...
Логично предположить, что отрисовка item'ов должна проводиться 1 раз - когда этот item добавляется в listbox (перерисовывать каждый раз все item'ы очень медленно и ресурсоёмко - скажем, если будет порядка 4000 позиций в списке). При скроллинге же эти item'ы должны просто перемещаться по отношению к видимой пользователем области. Правильно?
Вот тут то у меня и начинается стопор.
Как реализовать такое?

23:06

На спец сайтах искал, но, увы, тщетно - ничего подобного из того что я хочу нету и в помине... Как то странно, однако...

У нас принято пользоваться кнопочкой "Правка", дабы не плодить посты подряд, друг за другом.
Читаем правила. Рекомендую. Помимо общих правил форума есть и дополнения к ним в каждом разделе...
Модератор

Последний раз редактировалось mihali4; 26.01.2010 в 23:34.
DarkEN_ANGEL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перерисовка PaintBox gusluk Мультимедиа в Delphi 5 26.01.2010 12:54
перерисовка форм dampirik Общие вопросы .NET 4 20.12.2009 10:23
Перерисовка RichEdit SanekIrk Компоненты Delphi 9 15.09.2009 00:31
C#: перерисовка форми Natok Общие вопросы .NET 9 02.06.2009 20:03
TListBox Dr.Badnezz Компоненты Delphi 3 03.02.2009 23:15