Шаг 81 - Rect - PtInRect()

Определяет находится функция внутри прямоугольника или нет:

BOOL PtInRect
(
	CONST RECT *lprc,	// прямоугольник
	POINT pt		// точка
);

Одна тонкость. Эта Windows почему-то считает, что левая и верхняя грань внутри, а вот нижняя и правая нет. Если точка внутри, то вернется ненулевое значение.

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

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

void main()
{
	RECT r1;
	POINT p1;

	r1.left = 1;
	r1.right = 100;
	r1.top = 1;
	r1.bottom = 100;
	p1.x = 50;
	p1.y = 50;

	if (PtInRect(&r1,p1))
		cout << "Point in rect" << endl;
	else
		cout << "Point not in Rect" << endl;
}

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