Win32 API. Курсоры - Ограничение свободы перемещения курсора

ОГЛАВЛЕНИЕ

Ограничение свободы перемещения курсора

В примере ниже ограничивается перемещение курсора в окне прикладной программы, а затем курсор восстанавливается в его предыдущем окне. В примере используется функция GetClipCursor, чтобы записать область, в которой курсор может передвигаться и функция ClipCursor для ограничения и восстановления курсора.

RECT rcClip;           	// новая область для ClipCursor
RECT rcOldClip; // предыдущая область для ClipCursor
// Запись области, в которой курсор может перемещаться.
GetClipCursor(&rcOldClip);
// Получение габаритов окна приложения.
GetWindowRect(hwnd, &rcClip);
// Ограничение перемещения курсора в окне приложения.
ClipCursor(&rcClip);
//
// Обработка вводимой информации от ограниченного в перемещении курсора.
//
// Возвращение курсора в его предыдущую область.

ClipCursor(&rcOldClip);

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