Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

mouseUp

5.1K
19 сентября 2003 года
Failure
3 / / 19.09.2003
у формы есть событие mouseUp
зажимаю левую кнопку мыши на форме, вывожу ее за пределы приложения и отпускаю кнопку - событие срабатывает, а с правой кнопкой нет
ПОЧЕМУ??? И КАК ЭТО СДЕЛАТЬ???

мне нужен глобальный перехват событий мыши!
315
19 сентября 2003 года
Nick_M
399 / / 29.05.2003
Цитата:
Originally posted by Failure
у формы есть событие mouseUp
зажимаю левую кнопку мыши на форме, вывожу ее за пределы приложения и отпускаю кнопку - событие срабатывает, а с правой кнопкой нет
ПОЧЕМУ??? И КАК ЭТО СДЕЛАТЬ???

мне нужен глобальный перехват событий мыши!


Попробуй использовать WinAPI.

5.1K
19 сентября 2003 года
Failure
3 / / 19.09.2003
Цитата:
Originally posted by Nick_M

Попробуй использовать WinAPI.



ответ просто пышит полнотой! :)
что хоть использовать?

гдето прочитал про SetWindowsHookEx, но как пользоваться так и не понял. есть рабочий пример?

315
22 сентября 2003 года
Nick_M
399 / / 29.05.2003
Цитата:
Originally posted by Failure


ответ просто пышит полнотой! :)
что хоть использовать?

гдето прочитал про SetWindowsHookEx, но как пользоваться так и не понял. есть рабочий пример?


Есть функция TrackMouseEvent. Цитата: "Выставляет сообщения, когда указатель мыши выходит за пределы окна или распологаеться над контролируемой облостью". Более подробного описания я не нашел. Но лучше наверное будет следующая функция: HWND SetCapture(HWND hWnd) - устанавливает перехват событий мыши для указанного окна, независимо от того, находиться ли курсор в его пределах. Параметр - дискриптор нужного окна. Возврат - предыдущее окно. Затем можно обрабатывать события от мыши. Надеюсь полнота устраивает? :)

5.1K
23 сентября 2003 года
Failure
3 / / 19.09.2003
Цитата:
Originally posted by Nick_M

Есть функция TrackMouseEvent. Цитата: "Выставляет сообщения, когда указатель мыши выходит за пределы окна или распологаеться над контролируемой облостью". Более подробного описания я не нашел. Но лучше наверное будет следующая функция: HWND SetCapture(HWND hWnd) - устанавливает перехват событий мыши для указанного окна, независимо от того, находиться ли курсор в его пределах. Параметр - дискриптор нужного окна. Возврат - предыдущее окно. Затем можно обрабатывать события от мыши. Надеюсь полнота устраивает? :)



я сделал так

procedure TForm1.FormMouseDown(...);
begin
SetCapture(Handle);
Color := clRed;
end;

procedure TForm1.FormMouseUp(...);
begin
ReleaseCapture;
Color := clGreen;
end;

теперб и с правой кнопкой мыши цвет возвращается
спасибо!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог