Шаг 84 - Rect - SubtractRect()

Вычитает один прямоугольник из другого.

BOOL SubtractRect
(
	LPRECT lprcDst,		// результирующий прямоугольник
	CONST RECT *lprcSrc1,	// первый прямоугольник
	CONST RECT *lprcSrc2	// второй прямоугольник
);

Чтобы эта функция правильно сработала два прямоугольник должны полностью пересекаться по одной стороне.

84.gif (1024 b)

При успешном выполнении функция возвращает ненулевое значение.

// TestAPI.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "windows.h"
#include "iostream.h"

void main()
{
	RECT r1;
	RECT r2;
	RECT r3;

	SetRect(&r1,50,50,150,150);
	SetRect(&r2,100,70,120,100);
	SetRectEmpty(&r3);

	if (SubtractRect(&r3,&r2,&r1))
		cout << "OK Subtract" << endl;
	else
		cout << "Bad Subtract" << endl;

	SetRect(&r2,100,70,120,300);
	SetRectEmpty(&r3);

	if (SubtractRect(&r3,&r2,&r1))
		cout << "OK Subtract" << endl;
	else
		cout << "Bad Subtract" << endl;
}

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 22.02.2001