Версия для печати


Компонент "полупрозрачная" графическая кнопка
http://www.delphikingdom.com/asp/viewitem.asp?catalogID=1198

Cepгей Poщин
дата публикации 11-02-2006 16:36

Компонент "полупрозрачная" графическая кнопка

Предлагаю вашему вниманию небольшой компонент (потомок TGraphicControl), который несколько расширяет возможности стандартного компонента TSpeedButton. Этот компонент я попытался наделить некоторыми свойствами, которые позволяли бы моему приложению выглядеть более модно.

  1. Можно выбирать своё изображение, отображаемое в инспекторе объектов, для каждого состояния. Если для какого-то состояния изображение не задано, то будет задействовано одно из заданных изображений после модификации.
  2. Можно указывать степень прозрачности кнопки (см. рис.). Это свойство реализуется программными средствами, что позволяет использовать его в Win98.
  3. Добавлен еще один стиль рамки.
  4. На кнопке изображается размытая тень. Возможно кому-то понадобится эффект размытия.
  5. Компонент позволяет отображать дочернюю кнопку с треугольником, также как TToolButton.
  6. Чтобы ускорить перерисовку изображений и снизить мерцание (за счет увеличения требований к ресурсам системы) формируется массив готовых изображений. Не знаю на сколько оправдвно такое решение. Вы можете управлять максимальным размером массива меняя значение константы MaxButtons.

Если хотите использовать данный компонент в дизайнере форм Delphi Вы должны последовательно инсталлировать библиотеки ControlsCepEx.dpk и EditorsCepEx.dpk.

В прилагаемом примере демонстрируются возможности компонента. Компонент был создан на Delphi 2005 и проверялся на Delphi 7 и BDS 2006, но вероятно он может использоваться и в младших версиях, хотя надо проверять. Сообщайте ваше мнение о компоненте, а также о наличие/отсутствие глюков. Особенно интересно поведение в Win95-98.



К материалу прилагаются файлы: