Вниз
Скачать: 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.023 c
1-1094306351
dmk
2004-09-04 17:59
2004.09.19
Application Messages


1-1093603571
Sonnik
2004-08-27 14:46
2004.09.19
добавление в MS Word строки с различным форматом текста


14-1094021927
DimKa
2004-09-01 10:58
2004.09.19
оператор goto


1-1094045974
Wolfram
2004-09-01 17:39
2004.09.19
Все еще про ttime


10-1038463943
Comwad
2002-11-28 09:12
2004.09.19
Какие DLL нужно ставить у клиента  ? ( XML+Corba )




   Наверх