Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TVirtialStringTree событие между рисованием, селектора и событием OnPaintText 
:(
    Опции темы
Gwire
Дата 3.10.2012, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 7.8.2007
Где: Николаев

Репутация: 1
Всего: 4



В данной задаче я использую TVirtialStringTree для отображения списка файлов. То есть просто как сетку.
В программе выполняется копирование файлов. А прогресс копирования отображается прямо в ячейке с именем файла.

Вызываю RepaintNode и обрабатываю событие OnBeforeCellPaint. В OnBeforeCellPaint рисую прогресс.
Событие OnTextPaint выполняется позже. Все смотрится довольно хорошо.

Но для (vsSelected in Node^.States) рисование селектора происходит между OnBeforeCellPaint и OnTextPaint.
И прогресса не видно - его тупо перекрывает селектор.

Вопрос есть ли событие которое выполняется между отрисовкой селектора и событием OnPaintText.

PS: 
Шутки ради: Пользоваться Total-ом или Far-ом - не предлагать.
PM MAIL   Вверх
ZBugz
Дата 3.10.2012, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Вообще не должно быть проблем.

Добавлено через 2 минуты и 24 секунды
Тут есть пример на форуме, но я не могу в смоем профиле найти отображение всех моих сособщений, что бы дать ссылку на пример. Если получиться мой профиль просмотреть, то найдешь пример
PM MAIL   Вверх
Gwire
Дата 3.10.2012, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 7.8.2007
Где: Николаев

Репутация: 1
Всего: 4



Цитата(ZBugz @  3.10.2012,  14:42 Найти цитируемый пост)
Вообще не должно быть проблем.

В смысле? smile Не ни каких проблем.

Меня интересует есть ли событие с callback-функцией происходящее между рисование селектора и OnTextPaint.
Так-как рисование селектора происходит после события OnBeforeCellPaint и зарисовует прогресс. 
И нарисовать прямоугольник-прогресс нужно до того как будет выведен текст, чтобы отдельно текст не рисовать.

Обычно я такие штуки сам на хожу, но количество событий в TVirtialStringTree приличное. И не которые названы не совсем интуитивно понятно =/. 
Проверяя все "On-ы" и лазя по исходнику пришел к заключению что такой callback-функции нет.

Но решил спросить, на всякий случай, может мне по вылазило и кто-то встречал такую функцию.


PM MAIL   Вверх
ZBugz
Дата 4.10.2012, 06:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



А, понял. Тогда не знаю, не морочился этим smile
PM MAIL   Вверх
Gwire
Дата 4.10.2012, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 7.8.2007
Где: Николаев

Репутация: 1
Всего: 4



Вообщем, добился я нужного мне результата используя OnAfterCellPaint (пятое через десятое). 
Правда, пришлось рисовать все и прогресс и текст, и иконку файла.
Учитывать всяких доп.атрибутов (Margin, TextMargin, ImageIndex).
---------
Пока писал посетила мысля... 
Чтобы не учитывать доп.атрибуты можно использовать GetDisplayRect(Node, <Номер колонки>, True).
Сразу получаю TRect области конкретно для текста. =) Гы. Голова дырявая.

А вообщем, если кто встречал такую функцию...
Полагаю в дальнейшем еще пригодится это знание.


PM MAIL   Вверх
ZBugz
Дата 4.10.2012, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



А я все равно не пойму, а зачем оно тебе так ? 
Я просто рисую рамку и заполняю прогрессбар и там процентики пишу и при выделении колонки все симпотично, строка полностью выделаятся, а прогрессбар серенький и его видно
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1025 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.