Форум: "WinAPI";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
Внизотслеживание курсора и перерисовка изображения Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.036 c