21 сент. 2010 г.

SetCapture

Функция SetCapture устанавливает захват мыши указанному окну, пренадлежащему текущему потоку. SetCapture захватывает ввод мыши пока мышь находится над захватываемым окном, или когда кнопка мыши была нажата пока мышь была над захватившим мышь окном и кнопка все еще нажата. Только одно окно может захватить мишь в одно время.

Если указатель мыши находится над окном, созданным другим потоком, система переводит ввод мыши указанному окну только, если кнопка мыши нажата.
HWND SetCapture(      
    HWND hWnd
);
Параметры:

hWnd Дескриптор окна текущего потока, которое захватывает мышь.
Возвращаемые значения:
Возвращаемое значение – это дескриптор окна, которое ранее захватило мышь. Если такого окна нет – возвращается NULL.
Замечания:
Только окно переднего плана может захватить мышь. Если это пытается зделать окно заднего плана, окно получает сообщения только для событий мыши, которые происходят пока курсор проходит видимые части окна. Также, если окно заднего плана захватило мышь, пользователь может кликать на другом окне, переводя его на передний план.

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

Когда мышь захвачена, горячие клавиши меню и други акселераторы клавиатуры не работают.

Windows 95/98/Me: Вызов SetCapture приводит к тому, что окно, потерявшее захват мыши, получает сообщение WM_CAPTURECHANGED.
Смотрите также:
GetCapture, ReleaseCapture, WM_CAPTURECHANGED