Вниз
Скачать: 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.024 c
10-1038487107
Павел
2002-11-28 15:38
2004.09.19
просьба помочь


3-1092907138
Loaderz
2004-08-19 13:18
2004.09.19
Где здесь Ошибка???


14-1093472027
Гарри Поттер
2004-08-26 02:13
2004.09.19
Outpost vs DMClient


14-1091091921
Красная Майка
2004-07-29 13:05
2004.09.19
Очередной MMP


6-1089805731
RagE
2004-07-14 15:48
2004.09.19
Передача типа рекорд с помощью TCLientSocket/TServerSocket




   Наверх