Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

отслеживание курсора и перерисовка изображения [D6, D7, Win2k, WinXP]


malamba ©   (2004-08-05 10:12:00) 

Я тут завяз на портировании штучки под названием xeyes , известной Linux-ксоидам на платформу Windows.

В принципе все готово, но меня терзают смутные сомнения - а правильно ли я  делаю.

Вообщем задача такая: программа отслеживает курсор мыши и в зависимости от его положения водит в его сторону зрачки глаз.

Может у кого есть какие соображения?

Я лично пока сделал так: на форме - Tshape ( эллипсы), в них - Tshape ( зрачки).
По таймеру прога узнает координаты мыши ( GetCursorPos),
проводит вычисления, присваивает зрачкам новые значения координат.
Затем идет Tshape.Repaint.

Может правильнее использовать Canvas?
И правильно ли садить Tshape прямо на форму?


GrayFace   (2004-08-05 13:38:00) [1]

Invalidate


GrayFace   (2004-08-05 13:37:00) [2]

А зачем TShape.Repaint? При перемещении он и так перерисуется. К тому же обычну лучше использовать Invzlidate.


Axis_of_Evil   (2004-08-05 10:53:00) [3]

>а это как, не понял, можно поподробнее?
это без VCL, т.е. без TForm, TShape ... и вообще без 'Т' :>
см CreateWindow(Ex)


panov   (2004-08-05 10:52:00) [4]

>malamba   (05.08.04 10:50) [5]

Перевести на WinAPI- избавиться от VCL-компонент(TForm,TButton и пр...), и создавать не формы, а окна(CreateWindow и т.п).


malamba   (2004-08-05 10:50:00) [5]

Извините, затупил...

>после отладки всего этого наверное будет приятно перевести все на WinAPI

а это как, не понял, можно поподробнее?


malamba   (2004-08-05 10:46:00) [6]

О, спасибо, спасибо...


Ega23   (2004-08-05 10:44:00) [7]

Вообще я бы посоветовал не пользоваться таймером, а установить Хук на движения мыши, как это сделать думаю разберешся сам

Или на OnIdle повесить


don-do   (2004-08-05 10:38:00) [8]

Вообще я бы посоветовал не пользоваться таймером, а установить Хук на движения мыши, как это сделать думаю разберешся сам


panov   (2004-08-05 10:37:00) [9]

Мне кажется, что правильнее будет использовать хук для отлавливания перемещения курсора(хотя могу быть и не прав).
А рисовать можно и прямо на канве формы.

А посел отладки всего этого наверное будет приятно перевести все на WinAPI, уменьшив размер программы раз в 20-)


Наверх

Титульная страница Поиск, карта сайта Написать письмо