Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > PNG Delphi (Gustavo Daud) Как снимать ImageOver?


Автор: pukin 4.10.2007, 14:46
День добрый, господа знатоки.

Этот вопрос адресован тем, кто знаком с данным компонентом.

"TPNGButton"

Возникла трудность.
Иногда у компонента остаётся состояние ImageOver, и только после того, как навести на него повторно мышкой - оно пропадает и кнопке возвращается ImageNormal.

Подскажите, кто знаком с данной проблемой, как быть?

Автор: Snowy 4.10.2007, 15:41
Не переписывая компонента - никак.
Данное поведение проявляется только на машинах с медленным процессором или видеокартой.
Если в компоненте присутствует анимация - лучше её отключить.
Это снимет нагрузку.

Автор: pukin 4.10.2007, 15:54
Цитата(Snowy @ 4.10.2007,  15:41)
Не переписывая компонента - никак.
Данное поведение проявляется только на машинах с медленным процессором или видеокартой.
Если в компоненте присутствует анимация - лучше её отключить.
Это снимет нагрузку.

Это опенсоурс.

Вот http://pngdelphi.sourceforge.net/ на него.

Может, сталкивался кто? может хоть как-то можно эту проблему решить?

Анимации, вроде, в нём нет никакой.

Тачка не слабая, да и видюха тоже.

Подскажите пожалуйста, как быть.. smile 

Автор: pukin 4.10.2007, 16:55
Может есть какие-нибудь магически-безотказные действия  smile  над исходником? Он же ведь бесплатный.. Поможите плиз. :(

Автор: pukin 8.10.2007, 15:20
Можно пробежаться по всем ТПнгкнопкам и задать им что-то типо рефреш, но как отловить момент когда это делать? Не в таймере же, люди. Поможите.
Дело в том, что на форме присутсвует много графич. компонентов и изза этого возникают такие тормоза с обновлением состояния ПНГкнопок..

Автор: Alix 8.10.2007, 15:37
Можно покопать в сторону TrackMouseEvent Function:
Цитата
The TrackMouseEvent function posts messages when the mouse pointer leaves a window or hovers over a window for a specified amount of time.

Только если рисунок кнопки не прямоугольный, наверное, надо будет применить к окну кнопки аналогичный region.

Автор: pukin 9.10.2007, 10:06
Цитата(Alix @ 8.10.2007,  15:37)
Можно покопать в сторону TrackMouseEvent Function:
Цитата
The TrackMouseEvent function posts messages when the mouse pointer leaves a window or hovers over a window for a specified amount of time.

Только если рисунок кнопки не прямоугольный, наверное, надо будет применить к окну кнопки аналогичный region.

А как мне это можно применить? smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)