Функция SetCapture устанавливает захват мыши в заданном окне, принадлежащем текущему потоку. SetCapture захватывает ввод данных от мыши или когда мышь находится над захватывающим окном, или когда нажималась кнопка мыши, в то время, когда мышь была над захватывающим окном, а кнопка все еще находилась в нажатом состоянии. Только одно окно одновременно может захватить мышь.
Если курсор мыши находится над окном, созданным другим потоком, система направит ввод данных от мыши в указанное окно, только в том случае, если кнопка мыши находится в нажатом состоянии.
Синтаксис
HWND SetCapture( HWND hWnd ); |
Параметры
hWnd
[in] Дескриптор окна в текущем потоке, который должен захватить мышь.Возвращаемое значение
Возвращаемое значение - дескриптор окна, которое перед этим захватило мышь. Если такого окна нет, возвращаемое значение - ПУСТО (NULL).
Замечания
Только активное окно может захватить мышь. Когда неактивное (фоновое) окно пытается сделать это, окно получает сообщения только для событий от нажатия кнопки мыши, которые происходят, когда острие курсора находится внутри видимой части окна. А также, даже если активное окно захватило мышь, пользователь может, тем не менее, щелкать по другому окну, приводя его в активное состояние.
Когда окно больше не требует всего ввода данных от мыши, поток, который создавал окно, должен вызвать функцию ReleaseCapture, чтобы освободить мышь.
Эта функция не может использоваться, чтобы захватить ввод данных от мыши, предназначенный для другого процесса.
Когда мышь захвачена, горячие клавиши меню и другие ускорители клавиатуры не работают.
Windows 95/98/Me: Вызов SetCapture порождает окно, которое теряет захват мыши с получением сообщения WM_CAPTURECHANGED.
Пример
Пример, см. в статье Рисование линий мышью.
Смотри также
Обзор Ввод данных от мыши, Функции, используемые мышью, GetCapture, ReleaseCapture, WM_CAPTURECHANGED
Размещение и совместимость SetCapture |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |