![]() |
|
|
![]()
|
|
| Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 9 Всего: 12 |
У меня рисуется куча линий.
В некотором прямоугольнике мне надо сделать так, чтобы линии не выходили за его пределы. То есть надо 1. Нарисовать часть линий. 2. Включить некую область "отсечения" в виде прямоугольника и внутри него нарисовать несколько линий. 3. Отменить область отсечения и дорисовать остальные линии.... Какой функцией можно задать/отключить такой прямоугольник? -------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
| kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
Копай в сторону InvalidateRect
-------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
| Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 9 Всего: 12 |
А в обработке одного событии WM_PAINT разве можно его несколько раз менять?
-------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
| The Thing |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 286 Регистрация: 6.9.2004 Репутация: 1 Всего: 3 |
Создаешь dc с помощью dc.CreateCompatibleDC(...) (создание dc в памяти)
Рисуешь в dc что нужно.. и далее берешь нужные размеры и копируешь из памяти в pDC проги pDC->BitBlt(x, y, до x, до у, из &dc, SRCCOPY); Это сообщение отредактировал(а) The Thing - 20.9.2005, 21:01 -------------------- Правильность работы программы зависит от двух велечин. В нужном месте должны стоять нолик и еденичка. |
|||
|
||||
| Dreamer_0x01 |
|
|||
![]() Терминатор ![]() ![]() Профиль Группа: Участник Сообщений: 780 Регистрация: 14.4.2005 Где: Санкт-Петербург Репутация: 9 Всего: 12 |
The Thing
Спасибо за вариант... BitBlt я кстати у себя и так использую для двойной буверизации...Так можно и еще несколько их создать ;) -------------------- Нет ничего невозможного. Есть цели, и есть время и силы на их достижение. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Вариант, предложенный The Thing, слишком громоздкий, особенно если по ходу дела отсечение нужно менять несколько раз.
Есть куча функций для работы с регионом отсечения (clipping functions): ExcludeClipRect, IntersectClipRect, ExtSelectClipRgn и т.д. Если я правильно понимаю задачу, тебу надо сначала запомнить текущий ClipRgn, затем установить свой, сделать, что надо и восстановить старый. Для этого достаточно GetClipRgn и SelectClipRgn. -------------------- ... |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Во истину так..
-------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |