Главная страница
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.026 c
14-1094040541
Димитрий
2004-09-01 16:09
2004.09.19
Улыбнитесь


1-1094101947
sla
2004-09-02 09:12
2004.09.19
серийник для Delphi 7


14-1093324128
Stany
2004-08-24 09:08
2004.09.19
поднятие IRC сервера под винду


3-1093217295
Anarki
2004-08-23 03:28
2004.09.19
Соединение с базой данных MS Access, защищённой паролем


1-1094143843
Evgenius
2004-09-02 20:50
2004.09.19
Создание help файла в формате CHM