Ограничение курсора

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

Демонстрационный пример

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

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

Назад в оглавление
На главную страницу

Hosted by uCoz