2013-10-09 5 views
1

Так что в целом я не очень-то знаком с программированием на Windows или программированием в целом, но я возился с попыткой создать некоторую простую физику, используя Create*****Rgn(), и мне очень нравится, что есть функция PtInRgn(), но как бы я пошел на тестирование если регион находится внутри другого региона?Регион в регионе проверка?

По существу эффекты функции RgnInRgn()? (Я хочу избежатьRectInRegion(), потому что даже если область определена прямоугольником, т. Е. Создаст EllipticRgn(), она обнаружит истину для углов вне области).

ответ

0

В WindowsX.h есть макрос IntersectRgn, который вызывает CombineRgn. Если есть способ определить, пуст ли регион, это может сработать.

Редактировать:CombineRgn Код возврата напрямую сообщает вам, является ли результат пустым.

+0

Хмм, это, похоже, интересно, не забудьте изучить это! Я возвращаюсь назад после того, как немного проверил. (также мне просто стало ясно, что я в основном говорю об очень основном обнаружении столкновений с регионами. <) –

+0

Windowsx.h кажется чем-то запутанным для меня как им не совсем всем, что ужасно знакомо с макросами. Пока не пытайтесь увидеть, что я могу сделать с POINTs ... по крайней мере, пока я немного не знаком с макросами. –

+0

Вы можете просто позвонить 'CombineRgn' самостоятельно. Все 'IntersectRgn' - это вызов' CombineRgn' с значением 'RGN_AND':' CombineRgn (hrgnResult, hrgnA, hrgnB, RGN_AND) '. – Medinoc

Смежные вопросы