Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > CRect::CombineRect


Автор: Амортизатор 27.7.2005, 11:49
При вызове этой функции вылетает ошибка. Например,
Код

CRgn *reg1 = new CRgn();
CRgn *reg2 = new CRgn();
reg1->CreateEllipticRgn(10, 10, 50, 50);
reg2->CreateEllipticRgn(20, 20, 60, 60);
CRgn *REG = new CRgn();
//Ошибка
if (REG->CombineRgn(reg1, reg2, RGN_AND)==NULLREGION)
{
......
}


ЗЫ Мне нужно проверить, пересекаются ли эти регионы

Автор: chaos 27.7.2005, 12:15
Для чего тебе интересно знать нужен REG? Какую он великую роль играет?

Забей на него(REG) и сделай так:
Код

r1->CombineRgn(r1,r2, RGN_AND)

и все у тебя будет хорошо!!!

Автор: Coocky 27.7.2005, 17:48
На самом деле вылетает потому, что у тебя не создан REG
Код

CRgn *reg1 = new CRgn();
CRgn *reg2 = new CRgn();
reg1->CreateEllipticRgn(10, 10, 50, 50);
reg2->CreateEllipticRgn(20, 20, 60, 60);
CRgn *REG = new CRgn();
REG->CreateRectRgn( 0, 0, 0, 0 );
//Не должно быть ошибки
if (REG->CombineRgn(reg1, reg2, RGN_AND)==NULLREGION)
{
......
}


Если угодно...

Автор: Амортизатор 27.7.2005, 17:51
Coocky, в самом деле...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)