Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.19;
Скачать: CL | DM;

Вниз

отслеживание курсора и перерисовка изображения   Найти похожие ветки 

 
malamba   (2004-08-05 10:12) [0]

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

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

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

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

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

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


 
panov ©   (2004-08-05 10:37) [1]

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

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


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

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


 
Ega23 ©   (2004-08-05 10:44) [3]

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

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


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

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


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

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

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

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


 
panov ©   (2004-08-05 10:52) [6]

>malamba   (05.08.04 10:50) [5]

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


 
Axis_of_Evil ©   (2004-08-05 10:53) [7]

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


 
GrayFace ©   (2004-08-05 13:37) [8]

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


 
GrayFace ©   (2004-08-05 13:38) [9]

Invalidate



Страницы: 1 вся ветка

Текущий архив: 2004.09.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.051 c
14-1093935407
Nikolay M.
2004-08-31 10:56
2004.09.19
Гостиницы в Питере - 2


1-1094479534
appendix
2004-09-06 18:05
2004.09.19
одна форма и два юнита.


11-1080637617
avakss
2004-03-30 13:06
2004.09.19
KoleDB+Access2000rus+Delphi7+Win2000rus


4-1090776214
Skyhawk
2004-07-25 21:23
2004.09.19
Как программно нажать Alt-Ctrl-Del


9-1085388867
Poison man
2004-05-24 12:54
2004.09.19
Вращение до заданного неопределенного предела