![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| _andrews_ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 23.12.2006 Репутация: нет Всего: нет |
Есть обычный графический редактор, рисующий ЛИНИЮ, ЭЛЛИПС, КВАДРАТ, и КРИВУЮ.
При прорисовке, например линии, необходимо, чтобы она прорисовывалась "резиново", т.е. выбрали инструмент ЛИНИЯ, клацнули мышкой на поле рисования и потянули ей по окошку... Линия - хлоп! - и за мышкой потянулась, из стороны в сторону, из стороны в сторону, при этом зарисовывая те линии, которые нарисовались в процессе "скольжения" за мышкой. Сейчас же происходит такая ситуация, что ВСЕ эти линии остаются на рисунке..получается красивый веер, но он не в тему...хотя, повторюсь-получаются замысловатые такие фигурки. Подскажите, как зарисовать все линии, и оставить только ту, которая останется при отпускании кнопки мышки? |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
При прорисовке линии использовать XOR
Нарисовали 1 раз Потом с теми же координатами 2-й раз (линия стерлась, фон восстановился) Передвинули координаты Нарисовали и так далее Когда пользователь подтверждает координуту - уже рисуем тем цветом, что надо |
|||
|
||||
| WERITAS |
|
||||
|
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
У тебя окно не очищается, отсюда и веер. Юзай Invalidate(hwnd,NULL,TRUE) где нужно. Но для "красивой" прорисовки линии этого мало. Когда потянешь за линию, она будет неприятно "мелькать" на экране. Чтобы этого не было надо сделать двойную буферизацию. В СиШарпе и Дельфи это делается одной строчкой
P.S.
Должно быть нечто вроде этого:
Это сообщение отредактировал(а) WERITAS - 24.12.2006, 00:47 -------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |