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

Ваш аккаунт

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

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

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

Пропуск событий OnMouseDown (Up)

830
31 октября 2005 года
MVal
76 / / 17.10.2002
Всем привет!
Пишу подобие RemoteAdministrator'a.
На форме TImage. При получении нового пакета (получаю изменившийся фрагмент картинки в формате jpeg, и его координаты) вывожу его через Image->Canvas->Draw(x,y,jpeg);. (до этого пробовал выводить Image->Picture->Bitmap->Canvas->Draw - почему-то частенько вываливалась с OutOfSystemResource - так и не понял, почему).
В программе запускаются 2 второстепенных потока. В одном - получаются сообщения, укладываются в очередь (очередь TMemoryStream'ов). Во втором перерисовывается экран.
Для обратной связи на Image обрабатываю события OnMouseMove, OnMouseDown, OnMouseUp (и так-же для клавы Form->OnKeyDown, Form->OnKeyUp). При срабатывании события - формирую пакет для отправки (код сробытия, координаты или клавиша) и кладу его в очередь на отправку.
Если мееедленно нажимать - то все работает нормально (хотя нет - иногда не срабатывают события Up) если быстро кликнуть - то может вооще не сработать.:( Я так думаю, это происходит, если в этот момент комп занят другим процессом. Можно как-нибудь повысить приоретет клаво-мышынных сообщений, чтобы эти события ловились всегда?
1.9K
01 ноября 2005 года
Anton Chik
175 / / 26.09.2005
не,ну ты попробуй на простом примере - все события отлавливаются без заминок...видать перегружены именно твои обработчики данных событий...оптимизируй как-нибудь...я у ж молчу про ProcessMessages()...
10
01 ноября 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by MVal
Если мееедленно нажимать - то все работает нормально (хотя нет - иногда не срабатывают события Up) если быстро кликнуть - то может вооще не сработать.:(


А SetCapture вызываешь, чтобы захватить мышиные события?

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