Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рисование на PaintBox, задолбавшее мерцание 
:(
    Опции темы
UhaMurad
Дата 19.6.2005, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всем Салам Алейкум, давно не захаживал. smile

Итак, коротко о главном: взял, значит, я один PaintBox, растянул на всю форму и решил организовать на этом PaintBox-е систему Drag&Drop. Для этого заполнил соответствующим кодом обработчики событий MouseUp, -Move, -Down. Работает всё отлично (объекты перетаскиваются), только при перемещение мыши (во время перетаскивания объекта) начинается такое мерцание, что кушать не хочиться smile (вследствие частого вызова функции Repaint()).

Многоуважаемые коллеги, поделитесь, пожалуйста, мыслишками по этому поводу. Как бы этот побочный эффект сгладить.

Заранее благодарен, ваш ЮхаМурад! smile
PM MAIL WWW   Вверх
Любитель
Дата 19.6.2005, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

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



1. Можно задизейблить его на время.
2. Зачем Repaint()?


--------------------
PM MAIL ICQ Skype   Вверх
UhaMurad
Дата 20.6.2005, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



1. Это как (и на какое время)?

2. Как зачем - чтоб обновить канву PaintBox-а (посылка сообщения WM_PAINT).
PM MAIL WWW   Вверх
Adil'
Дата 21.6.2005, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Попробуй вместа Repaint вызывать
InvalidateRect(PaintBox->Parent->Handle,&rc,true); где
rc=OffsetRect(&RC,PaintBox->Left,PaintBox->Top);
где RC - прямоугольник (TRect или RECT), описывающий объект, который надо перерисовать (в координатах относительно PaintBox). Можно попробовать и false третьим параметром передавать.



--------------------
Удачи
PM MAIL WWW   Вверх
Guest
Дата 21.6.2005, 16:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Adil', ты гений. Спасибо тебе большое. Ты сэкономил кучу моих часов.

Однако, (в виду моей ненасытности) сам объект по-прежнему мерцает. Боюсь пользователь мне этого не простит.

(К сведенью для его прорисовки выводятся две строки текста и два прямоугольника).
  Вверх
Adil'
Дата 21.6.2005, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Guest @ 21.6.2005, 16:52)
(К сведенью для его прорисовки выводятся две строки текста и два прямоугольника).
Покажи код прорисовки и расскажи о месте где, этот код.



--------------------
Удачи
PM MAIL WWW   Вверх
Любитель
Дата 21.6.2005, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

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



Надо его прорисовку не в PaintBox-е вести. Он долго расчитывает всякую ерунду. В самой форме рисуй.


--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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