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


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

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

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

ClipCursor(&rcOldClip);

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

 
« Предыдущая статья   Следующая статья »