Пользователь
Сообщения: 95
Благодарности: 55
|
Профиль
|
Отправить PM
| Цитировать
Возвращаясь к "шкурному" вопросу при помощи SkinSharp, то вот перечень всех функций, которые поддерживает библиотека SkinH.dll (описание API в исходном коде библиотеки - перевод с китайского):
Код: 
/*************************************************************/
/* Описание SkinSharp API */
/*************************************************************/
#ifndef SKIN_H
#define SKIN_H
/********************** Коды ошибок **************************/
#define SRET_OK 0 // Операция выполнена успешно
#define SRET_ERROR 1 // Операция не удалась
#define SRET_ERROR_READ 2 // Ошибка файловых операций
#define SRET_ERROR_PARAM 3 // Неверный параметр
#define SRET_ERROR_CREATE 4 // Ошибка создания стиля
#define SRET_ERROR_FORMAT 5 // Неверный формат стиля
#define SRET_ERROR_VERSION 6 // Неверная версия стиля
#define SRET_ERROR_PASSWORD 7 // Неверный пароль доступа к стилю
#define SRET_ERROR_INVALID 8 // Ошибка авторизации
/*************************************************************/
#define DECLSKINHAPI __declspec(dllimport) int __stdcall
extern "C"
{
/****************** Функция SkinH_Attach *********************/
// Загрузка файла стиля skinh.she. Для успешной загрузки стиля,
// файл стиля *.she должен быть в одном каталоге с файлом SkinH.dll.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_Attach();
/*************************************************************/
/****************** Функция SkinH_AttachEx *******************/
// Загрузка файла стиля по указанному пути.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_AttachEx(
LPCTSTR strSkinFile, // Путь к файлу стиля.
LPCTSTR strPassword // Пароль к файлу стиля.
);
/*************************************************************/
/****************** Функция SkinH_AttachExt ******************/
// Загрузка указанного файла стиля с заданными параметрами насыщенности, оттенка и яркости.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_AttachExt(
LPCTSTR strSkinFile, // Путь к файлу стиля.
LPCTSTR strPassword, // Пароль к файлу стиля.
int nHue, // Оттенок. Диапазон значений от -180 до +180, по умолчанию 0.
int nSat, // Насыщенность. Диапазон значений от -100 до +100, по умолчанию 0.
int nBri // Яркость. Диапазон значений от -100 до +100, по умолчанию 0.
);
/*************************************************************/
/****************** Функция SkinH_AttachRes ******************/
// Загрузка указанного ресурса стиля с заданными параметрами насыщенности, оттенка и яркости.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_AttachRes(
LPBYTE pShe, // Указатель на ресурсы стиля.
DWORD dwSize, // Размер ресурсов.
LPCTSTR strPassword, // Пароль к файлу стиля.
int nHue, // Оттенок. Диапазон значений от -180 до +180, по умолчанию 0.
int nSat, // Насыщенность. Диапазон значений от -100 до +100, по умолчанию 0.
int nBri // Яркость. Диапазон значений от -100 до +100, по умолчанию 0.
);
/*************************************************************/
/****************** Функция SkinH_AttachResEx ****************/
// Загрузка указанного имени ресурса стиля с заданными параметрами насыщенности, оттенка и яркости.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_AttachResEx(
LPCTSTR lpName, // Имя ресурса.
LPCTSTR lpType, // Тип ресурса.
LPCTSTR strPassword, // Пароль к файлу стиля.
int nHue, // Оттенок. Диапазон значений от -180 до +180, по умолчанию 0.
int nSat, // Насыщенность. Диапазон значений от -100 до +100, по умолчанию 0.
int nBri // Яркость. Диапазон значений от -100 до +100, по умолчанию 0.
);
/*************************************************************/
/****************** Функция SkinH_Detach *********************/
// Выгрузка стиля.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_Detach();
/*************************************************************/
/****************** Функция SkinH_DetachEx *******************/
// Выгрузка стиля для указанного дескриптора окна.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_DetachEx(
HWND hWnd // Дескриптор (handle) окна.
);
/*************************************************************/
/****************** Функция SkinH_SetWindowAlpha *************/
// Установка уровня прозрачности для указанного дескриптора окна.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_SetWindowAlpha(
HWND hWnd, // Дескриптор (handle) окна.
int nAlpha // Прозрачность. Диапазон значений от 0 до 255.
);
/*************************************************************/
/****************** Функция SkinH_AdjustHSV ******************/
// Настройка оттенка, насыщенности и яркости стиля.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_AdjustHSV(
int nHue, // Оттенок. Диапазон значений от -180 до +180, по умолчанию 0.
int nSat, // Насыщенность. Диапазон значений от -100 до +100, по умолчанию 0.
int nBri // Яркость. Диапазон значений от -100 до +100, по умолчанию 0.
);
/*************************************************************/
/****************** Функция SkinH_GetColor *******************/
// Получение значения цвета в точке с координатами nX, nY.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_GetColor(
HWND hWnd, // Дескриптор (handle) окна или элемента управления.
int nX, // Значение координаты Х.
int nY // Значение координаты Y.
);
/*************************************************************/
/****************** Функция SkinH_Map ************************/
// Установка стиля для определенного типа элемента управления.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_Map(
HWND hWnd, // Дескриптор (handle) окна или элемента управления.
int nType // Тип элемента управления.
);
// Идентификаторы элементов управления
#define TYPE_UNKNOWN 0
#define TYPE_ANIMATE 1001
#define TYPE_CHECKBOX 1002
#define TYPE_COMBOBOX 1003
#define TYPE_COMBOLBOX 1004
#define TYPE_CONTROLBAR 1005
#define TYPE_DATETIME 1006
#define TYPE_EDITBOX 1007
#define TYPE_GROUPBOX 1008
#define TYPE_HEADERCTRL 1009
#define TYPE_HOTKEY 1010
#define TYPE_IPADDRESS 1011
#define TYPE_LABEL 1012
#define TYPE_LISTBOX 1013
#define TYPE_LISTVIEW 1014
#define TYPE_MDICLIENT 1015
#define TYPE_MENU 1016
#define TYPE_MONTHCAL 1017
#define TYPE_PICTURE 1018
#define TYPE_PROGRESS 1019
#define TYPE_PUSHBUTTON 1020
#define TYPE_RADIOBUTTON 1021
#define TYPE_REBAR 1022
#define TYPE_RICHEDIT 1023
#define TYPE_SCROLLBAR 1024
#define TYPE_SCROLLCTRL 1025
#define TYPE_SPINCTRL 1026
#define TYPE_STATUSBAR 1027
#define TYPE_TABCTRL 1028
#define TYPE_TOOLBAR 1029
#define TYPE_TOOLBARWND 1030
#define TYPE_TRACKBAR 1031
#define TYPE_TREEVIEW 1032
#define TYPE_WINDOW 1034
#define TYPE_COMCTRL 1036
#define TYPE_PAINTCTRL 1037
/*************************************************************/
/****************** Функция SkinH_SetAero ********************/
// Включение/Отключение эффекта Aero.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_SetAero(
int bAero // Включить Aero - 1. Отключить Aero - 0.
);
/*************************************************************/
/****************** Функция SkinH_AdjustAero *****************/
// Установка параметров Aero.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_AdjustAero(
int nAlpha, // Прозрачность. Диапазон значений от 0 до 255 (по умолчанию 0).
int nShwDark, // Яркость тени. Диапазон значений от 0 до 255 (по умолчанию 0).
int nShwSharp, // Четкость тени. Диапазон значений от 0 до 255 (по умолчанию 0).
int nShwSize, // Размер тени. Диапазон значений от 2 до 19 (по умолчанию 2).
int nX, // Смещение по горизонтали (X), 0-25 (по умолчанию 0).
int nY, // Смещение по вертикали (Y), 0-25 (по умолчанию 0).
int nRed, // Красный компонент цвета. Диапазон значений от 0 до 255 (по умолчанию -1).
int nGreen, // Зеленый компонент цвета. Диапазон значений от 0 до 255 (по умолчанию -1).
int nBlue // Синий компонент цвета. Диапазон значений от 0 до 255 (по умолчанию -1).
);
/*************************************************************/
/****************** Функция SkinH_SetWindowMovable ***********/
// Установка для формы свойства Moveable.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_SetWindowMovable(
HWND hWnd, // Дескриптор (handle) окна.
BOOL bMovable // 0 - неперемещаемая, 1 - перемещаемая.
);
/*************************************************************/
/****************** Функция SkinH_SetBackColor ***************/
// Установка фонового цвета для заданного элемента управления
// (только для элементов управления CheckBox, Edit, GroupBox).
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_SetBackColor(
HWND hWnd, // Дескриптор (handle) элемента управления.
int nRed, // Значение красного компонента цвета.
int nGreen, // Значение зеленого компонента цвета.
int nBlue // Значение синего компонента цвета.
);
/*************************************************************/
/****************** Функция SkinH_SetForeColor ***************/
// Установка переднего цвета для заданного элемента управления
// (только для элементов управления CheckBox, Edit, GroupBox).
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_SetForeColor(
HWND hWnd, // Дескриптор (handle) элемента управления.
int nRed, // Значение красного компонента цвета.
int nGreen, // Значение зеленого компонента цвета.
int nBlue // Значение синего компонента цвета.
);
/*************************************************************/
/****************** Функция SkinH_LockUpdate *****************/
// Обновление или блокировка эффекта стиля для указанного дескриптора
// окна или элемента управления, в случае многократной смены стиля.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_LockUpdate(
HWND hWnd, // Дескриптор (handle) окна или элемента управления.
int bUpdate // Блокировать эффект - 1, обновить эффект - 0.
);
/*************************************************************/
/****************** Функция SkinH_SetMenuAlpha ***************/
// Установка прозрачности меню.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_SetMenuAlpha(
int nAlpha // Прозрачность. Диапазон значений от 0 до 255.
);
/*************************************************************/
/****************** Функция SkinH_NineBlt ********************/
// Отрисовка контекста элемента.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_NineBlt(
HDC hDtDC, // Контекст элемента.
int left, // Координата X левого верхнего угла элемента.
int top, // Координата Y левого верхнего угла элемента.
int right, // Координата X правого нижнего угла элемента.
int bottom, // Координата Y правого нижнего угла элемента.
int nMRect // Идентификатор (ID) элемента.
);
/*************************************************************/
/****************** Функция SkinH_SetTitleMenuBar ************/
// Установка заголовка меню.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_SetTitleMenuBar(
HWND hWnd, // Дескриптор (handle) окна.
BOOL bEnable, // 1 - установить параметры меню. 0 - отменить установку.
int nTMenuY, // Высота панели меню.
int nTopOffs, // Смещение сверху.
int nRightOffs // Смещение вправо.
);
/*************************************************************/
/****************** Функция SkinH_SetFont ********************/
// Установка шрифта для заданного элемента управления.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_SetFont(
HWND hWnd, // Дескриптор (handle) элемента управления.
HFONT hFont // Дескриптор шрифта.
);
/*************************************************************/
/****************** Функция SkinH_SetFontEx ******************/
// Установка свойств шрифта для заданного элемента управления.
// В случае успешного выполнения операции возвращает код 0.
DECLSKINHAPI SkinH_SetFontEx(
HWND hWnd, // Дескриптор (handle) элемента управления.
LPCTSTR szFace, // Имя шрифта.
int nHeight, // Высота шрифта.
int nWidth, // Ширина шрифта.
int nWeight, // Плотность шрифта.
int nItalic, // Стиль курсив.
int nUnderline, // Стиль подчеркнутый.
int nStrikeOut // Стиль зачеркнутый.
);
/*************************************************************/
/****************** Функция SkinH_VerifySign *****************/
// Проверка цифровой подписи.
// Подпись есть и она действительна - возвращает код 1.
// Подписи нет или она недействительна - возвращает код 0.
DECLSKINHAPI SkinH_VerifySign();
/*************************************************************/
}
#endif
Например, чтобы изменить цветовую гамму загруженного стиля, нужно в сценарии указать следующую команду:
Код: 
# Настройка оттенка, насыщенности и яркости стиля.
; 80 - значение оттенка
; 75 - значение насыщенности
; 0 - значение яркости
System::Call SkinH::SkinH_AdjustHSV(i80,i75,i0)
Необходимые параметры можно подобрать при помощи обозревателя стилей SkinViewer:
Таким образом не обязательно создавать новый стиль, можно просто подобрать желаемые параметры цвета для одного из готовых стилей и указать их в сценарии.
|