![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Guest |
|
|||
|
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 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 9.3.2003 Репутация: нет Всего: нет |
Попробуй поставить небольшую задержку (несколько милисекунд) и убрать курсор мыши. Если не поможет - будем думать.
|
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Рисуй копию экрана в память, а затем вызывай BitBlt
|
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
только в памяти объект битмап инициализируй, а то без него не работает почемуто
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Потому, сто при создании контекста в нем инициализируется изначальный битмап размером 1x1
|
|||
|
||||
| Voker57 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 278 Регистрация: 18.2.2003 Где: Краснодар Репутация: нет Всего: 1 |
Напоминает анимацию в QBASIC там тоже всё моргает. Враг эпилептика! А если задержку ставить то всё только тормозить будет.
-------------------- Но кто из вас не прав, кто виноват во всей создавшейся никчёмной сложности Судить об этом не имею никакой возможности. При следующем свидании вы сами выйдете из тупика. Ну, до свидания, пока. :-) Д.И. Хармс Самый радиоактивно загрязненный сайт 2004 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |