Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.027 c
6-1089671512
Лев Ландау
2004-07-13 02:31
2004.09.19
Помогите в реализации хттп запроса ! ! !


14-1094036018
ArMellon
2004-09-01 14:53
2004.09.19
Как определенной проге не дать доступ в интернет и


4-1091426526
olookin
2004-08-02 10:02
2004.09.19
Ресурс для хранения проивзольных файлов


1-1094187730
Marat
2004-09-03 09:02
2004.09.19
Курсор в DBGrid


1-1094457300
guest_Dmitry
2004-09-06 11:55
2004.09.19
#$D#$A - что это может быть?




   Наверх