![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Roman1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 12.10.2007 Репутация: -1 Всего: нет |
Всем доброго времени суток. Прошу подсказать решение следующей задачи. Рисую на канве компонента Draw3D (Delphi 2007). Поверх этого компонента выводятся различные формы. Их, естественно, можно перемещать мышкой. Для перерисовки канвы при перемещении форм использую события самих этих форм - OnEndDrag и т.п. в обработчике которых перерисовываю канву. Но если выводится форма сообщения через функцию Showmessage или форма проводника через функцию ShellExecute, то их перемещение стирает канву и я никак не могу подобрать события компонента Draw3D для перерисовки канвы при перемещении этих форм. События OnDragOver, OnEndDrag, OnPaint и т.п. почему-то не работают. Что в этом случае нужно сделать?
Спасибо. |
|||
|
||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 6 Всего: 112 |
Почему бы не использовать событие OnPaint самого компонента Draw3D?
|
|||
|
||||
| Roman1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 12.10.2007 Репутация: -1 Всего: нет |
Оно почему-то не генерируется. Может, нужно что-то в свойствах изменить. Сам пока не нашел. По крайней мере по этому событию перерисовки канвы не происходит. Для описанного случая удалось только-что сделать перерисовку через событие OnPaint самой формы, но при этом чуть только мышь уходит в область кнопок сразу начинается мерцание - перерисовка идет одна за одной.
|
|||
|
||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 6 Всего: 112 |
Установите свойство BufferedDisplay := False и напишите обработчик события OnPaint. Проверил — всё работает.
Добавлено через 5 минут и 43 секунды
|
|||
|
||||
| Roman1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 12.10.2007 Репутация: -1 Всего: нет |
Да, действительно. У меня это свойство стояло в true. Большое спасибо Amphiluke , удачи, здоровья.
|
|||
|
||||
![]()
|
| Правила форума "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. |