Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> перерисовка прямоугольника 
:(
    Опции темы
Guest
Дата 19.4.2003, 19:06 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











у меня проблема при перетаскивании мышью прямоугольника, он моргает,мигает вообщем не красиво как-то он перетаскивается. Подскажите как написать код? Спасибо!

Вот мой код:
void CPuzzleDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
CRect rect(m_pointTopLeft,m_sizeRect);
if(rect.PtInRect(point)){
SetCapture();
m_bCaptured=TRUE;
CPoint pointTopLeft(m_pointTopLeft);
m_sizeOffset=point-pointTopLeft;
}
}

void CPuzzleDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
if(m_bCaptured){
::ReleaseCapture();
m_bCaptured=FALSE;
}
Ъ

void CPuzzleDlg::OnMouseMove(UINT nFlags, CPoint point)
{
if(m_bCaptured){

CRect rectOld(m_pointTopLeft,m_sizeRect);
InvalidateRect(rectOld,TRUE);
m_pointTopLeft=point-m_sizeOffset;
CRect rectNew(m_pointTopLeft,m_sizeRect);
InvalidateRect(rectNew,TRUE);
}
}

void CPuzzleDlg::OnPaint()
{
CPaintDC dc(this);
dc.Rectangle(CRect(m_pointTopLeft,m_sizeRect));
CDialog::OnPaint();

}

  Вверх
_IGOR
Дата 19.4.2003, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Попробуй поставить небольшую задержку (несколько милисекунд) и убрать курсор мыши. Если не поможет - будем думать.



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


Эксперт
****


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

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



Рисуй копию экрана в память, а затем вызывай BitBlt smile.gif
PM ICQ   Вверх
Step
Дата 21.4.2003, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

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



только в памяти объект битмап инициализируй, а то без него не работает почемуто


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
DENNN
Дата 21.4.2003, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Потому, сто при создании контекста в нем инициализируется изначальный битмап размером 1x1 smile.gif
PM ICQ   Вверх
Voker57
Дата 21.4.2003, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Напоминает анимацию в QBASIC там тоже всё моргает. Враг эпилептика! А если задержку ставить то всё только тормозить будет.


--------------------
Но кто из вас не прав, кто виноват во всей создавшейся никчёмной сложности
Судить об этом не имею никакой возможности.
При следующем свидании вы сами выйдете из тупика.
Ну, до свидания, пока. :-)
Д.И. Хармс
Самый радиоактивно загрязненный сайт 2004
PM MAIL WWW ICQ YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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