![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Gwire |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 7.8.2007 Где: Николаев Репутация: 1 Всего: 4 |
В данной задаче я использую TVirtialStringTree для отображения списка файлов. То есть просто как сетку.
В программе выполняется копирование файлов. А прогресс копирования отображается прямо в ячейке с именем файла. Вызываю RepaintNode и обрабатываю событие OnBeforeCellPaint. В OnBeforeCellPaint рисую прогресс. Событие OnTextPaint выполняется позже. Все смотрится довольно хорошо. Но для (vsSelected in Node^.States) рисование селектора происходит между OnBeforeCellPaint и OnTextPaint. И прогресса не видно - его тупо перекрывает селектор. Вопрос есть ли событие которое выполняется между отрисовкой селектора и событием OnPaintText. PS: Шутки ради: Пользоваться Total-ом или Far-ом - не предлагать. |
|||
|
||||
| ZBugz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 636 Регистрация: 15.2.2006 Где: Москва Репутация: 6 Всего: 6 |
Вообще не должно быть проблем.
Добавлено через 2 минуты и 24 секунды Тут есть пример на форуме, но я не могу в смоем профиле найти отображение всех моих сособщений, что бы дать ссылку на пример. Если получиться мой профиль просмотреть, то найдешь пример |
|||
|
||||
| Gwire |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 7.8.2007 Где: Николаев Репутация: 1 Всего: 4 |
В смысле? Меня интересует есть ли событие с callback-функцией происходящее между рисование селектора и OnTextPaint. Так-как рисование селектора происходит после события OnBeforeCellPaint и зарисовует прогресс. И нарисовать прямоугольник-прогресс нужно до того как будет выведен текст, чтобы отдельно текст не рисовать. Обычно я такие штуки сам на хожу, но количество событий в TVirtialStringTree приличное. И не которые названы не совсем интуитивно понятно =/. Проверяя все "On-ы" и лазя по исходнику пришел к заключению что такой callback-функции нет. Но решил спросить, на всякий случай, может мне по вылазило и кто-то встречал такую функцию. |
|||
|
||||
| ZBugz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 636 Регистрация: 15.2.2006 Где: Москва Репутация: 6 Всего: 6 |
А, понял. Тогда не знаю, не морочился этим
|
|||
|
||||
| Gwire |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 7.8.2007 Где: Николаев Репутация: 1 Всего: 4 |
Вообщем, добился я нужного мне результата используя OnAfterCellPaint (пятое через десятое).
Правда, пришлось рисовать все и прогресс и текст, и иконку файла. Учитывать всяких доп.атрибутов (Margin, TextMargin, ImageIndex). --------- Пока писал посетила мысля... Чтобы не учитывать доп.атрибуты можно использовать GetDisplayRect(Node, <Номер колонки>, True). Сразу получаю TRect области конкретно для текста. =) Гы. Голова дырявая. А вообщем, если кто встречал такую функцию... Полагаю в дальнейшем еще пригодится это знание. |
|||
|
||||
| ZBugz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 636 Регистрация: 15.2.2006 Где: Москва Репутация: 6 Всего: 6 |
А я все равно не пойму, а зачем оно тебе так ?
Я просто рисую рамку и заполняю прогрессбар и там процентики пишу и при выделении колонки все симпотично, строка полностью выделаятся, а прогрессбар серенький и его видно |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |