Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2019, 09:12   #1
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию Как правильно получать текущий регион отсечения?

Как правильно получать текущий регион отсечения?
Цитата:
ClippingRegion=CreateRectRgn(...);
std::cout<<"ClippingRegion="<<(void *)ClippingRegion<<std::endl;
PreviousClippingRegion=CreateRectRg n(0, 0, 0, 0);
std::cout<<"PreviousClippingRegion= "<<(void*)PreviousClippingRegion<<s td::endl;
GetClipRgn(DeviceContext, PreviousClippingRegion);
std::cout<<"PreviousClippingRegion= "<<(void*)PreviousClippingRegion<<s td::endl;
выводит дважды одно и то же значение PreviousClippingRegion, не имеющее ничего общего с ClippingRegion. Чего я здесь не понимаю? ClippingRegion создаётся в вызывающей функции, а PreviousClippingRegion требуется получить в вызываемой. Для двух целей:
1. Комбинировать его с другим, так, чтоб новый регион был меньше старого и не вылезал за старый старый регион.
2. Вернуться потом к старому региону.

Последний раз редактировалось taras-proger77; 26.05.2019 в 09:34.
taras-proger77 вне форума Ответить с цитированием
Старый 27.05.2019, 20:28   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

GetObject()
waleri вне форума Ответить с цитированием
Старый 28.05.2019, 06:16   #3
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

А где ж я готовый дескриптор возьму? Мне его как раз получить надо.
taras-proger77 вне форума Ответить с цитированием
Старый 28.05.2019, 14:00   #4
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Тогда никак...
waleri вне форума Ответить с цитированием
Старый 29.05.2019, 08:23   #5
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Сообщений: 353
По умолчанию

Не очень понял суть... Где вы задаёте-то ваш ClippingRegion? Кстати, если что, Функция GetClipRgn():
Цитата:
Если функция завершается успешно, параметр hrgn - это дескриптор копии текущего региона отсечения. Последующие изменения этой копии не будут оказывать влияние на текущий регион отсечения.
ResourceSpace вне форума Ответить с цитированием
Старый 30.05.2019, 05:59   #6
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

Цитата:
Сообщение от ResourceSpace Посмотреть сообщение
Не очень понял суть... Где вы задаёте-то ваш ClippingRegion? Кстати, если что, Функция GetClipRgn():
В вызывающей функции. А вызываемая должна комбинировать его с другим. Читайте и будет Вам
Цитата:
щасье
.
Цитата:
Сообщение от ResourceSpace Посмотреть сообщение
Последующие изменения этой копии не будут оказывать влияние на текущий регион отсечения.
Ну так комбинированный регион будет выбран селектом, а копия должна участвовать в комбинации.
taras-proger77 вне форума Ответить с цитированием
Старый 01.06.2019, 14:49   #7
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Сообщений: 353
По умолчанию

Весь тестовый код увидеть можно?
ResourceSpace вне форума Ответить с цитированием
Старый 03.06.2019, 08:25   #8
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

Отдельно тестилки нет, всё в основном проекте, а в нём уже 43946 строк.
taras-proger77 вне форума Ответить с цитированием
Старый 03.06.2019, 08:48   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да хватит уже числом строк понтоваться.
Выделить в простой работающий пример на пару десятков строк не сложно, не говоря уж о том, что многие проблемы решаются на этом этапе.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 03.06.2019, 11:46   #10
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

Что ж у Петзолдта пары десятков строк как раз не хватило до стони в приветствии, полностью рисуемом в одной функции, а примеров на отсечение меньше, чем на пару страниц нет вообще? И я мориться не обучен.
taras-proger77 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Размер контекста памяти taras-proger77 Win Api 10 06.06.2019 18:32
алгоритм отсечения FC _BYTE Помощь студентам 0 17.06.2014 13:09
Как можно узнать текущий адрес страницы компонента idhttp? DHARMA373 Общие вопросы Delphi 2 06.02.2013 03:11
Бордюр и регион Claster Помощь студентам 0 08.07.2011 10:57
с помощью чего можно с Edita вытянуть денежный эквивалент Bl@ck_A_n_G_e_L Общие вопросы Delphi 1 06.05.2008 14:03