Скины для Ваших кнопок
Автор: Davide Pizzolato

Итак, как добавить скины к Вашим кнопкам:
- Добавьте "xSkinButton.cpp" и "xSkinButton.h" в Ваш
проект.
- Включите "xSkinButton.h" в заголовочный файл, где
определены элементы управления
- В редакторе ресурсов отметьте свойство "Owner
Draw" для, кнопок, которые Вы хотите изменить
- Создайте (или отредактируйте) переменные от
CxSkinButton для этих кнопок. Если Class Wizard не показывает
тип CxSkinButton, выберите CButton, а затем отредактируйте
код вручную.
- Добавьте ресурс bitmap для кнопок:
- NORMAL bitmap: по умолчанию изображение кнопки.
- DOWN bitmap: изображение нажатой кнопки.
- OVER bitmap:(необязательно) изображение при
наведении курсора мыши на кнопку. Если NULL, то
будет использоваться изображение NORMAL.
- DISABLED bitmap: (необязательно) изображение для
недоступной кнопки. Если NULL, то так же будет
использоваться изображение NORMAL.
- MASK bitmap: (необязательно) маска для региона кнопки.
По умолчанию прозрачный цвет RGB(255,255,255).
- В инициализации окна добавьте методы CxSkinButton:
BOOL CxSkinButtonDemoDlg::OnInitDialog()
{
m_btn1.SetTextColor(RGB(255,0,0));
m_btn1.SetToolTipText("Button1");
m_btn1.SetSkin(IDB_B1NORM,IDB_B1DOWN,IDB_B1OVER,
IDB_B1GRAY,IDB_B1MASK,0,0,0);
Функция SetSkin имеет следующие параметры:
void CxSkinButton::SetSkin(UINT normal,UINT
down,UINT over,UINT disabled,UINT mask, short drawmode, short border, short margin)
- normal,down,over,disabled,mask = IDшники ресурсов
- drawmode = если маска не NULL, то можно использовать 1
(stretch) или 2 (tiled).
- border = если маска не NULL либо кнопка не
прямоугольная, то можно использовать 1 для
рисования стандартной 3D рамки вокруг кнопки.
- margin = если маска не NULL либо кнока не
прямоугольная, можно использовать этот параметр
для рисования точечной окаймовки кнопки когда
она получает фокус.
|