Вычитает один прямоугольник из другого.
BOOL SubtractRect
(
LPRECT lprcDst,// результирующий прямоугольник
CONST RECT *lprcSrc1,// первый прямоугольник
CONST RECT *lprcSrc2// второй прямоугольник
);
Чтобы эта функция правильно сработала два прямоугольник должны полностью пересекаться по одной стороне.
При успешном выполнении функция возвращает ненулевое значение.
// 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;
}