Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > SXSkinComponents


Автор: Yanis 19.12.2006, 11:55
Вот наткнулся на компонент для добавления скинов. Разработчик Алексей Садовников. Привожу описание с сайта компонентов:

Возможности компонентов
Набор компонентов SXSkinComponents представляет разработчикам следующие возможности:
  • 100% поддржка альфа-канала при прорисовке компонентов (обеспечивает плавный цветовой переход от границ элемента управления к фону).
  • Каждый скин описывается в отдельном файле skin.ini.
  • Скин-файл содержит описание набора стилей: обычных и специальных.
  • Обычный стиль представляет собой рисунок, состоящий из набора элементов различных типов (картинок или геометрических фигур).
  • Поддержка форматов графических файлов JPEG, PNG-8 и PNG-24 (с 8-битовой прозрачностью).
  • Программно прорисовываются следующие геометрические фигуры: прямоугольники, скругленные прямоугольники, круги, многоугольники и линии (по координатам).
  • Все фигуры могут прорисовываться с полупрозрачными границами и градиентной заливкой.
  • Используя элемент BoxTile, можно с легкостью создавать дизайн кнопок и других элементов управления.
  • Компоненты оптимизированы для процессоров с поддержкой инструкций MMX.
  • Могут быть использованы в Delphi 6, Delphi 7, Delphi 2005, Delphi 2006, C++Builder 6 и C++Builder 2006.
  • Разработаны для операционных систем Windows 98/ME/NT/2000/XP/2003.
  • Весь исходный код компонентов является открытым на 100%.

Сайт: http://www.saarixx.info/sxskincomponents/ru/
Демонстрационная программа: http://www.saarixx.info/sxskincomponents/download.php?name=demo_1.1.0&redir=http://www.saarixx.info/sxskincomponents/download/sxskincomponents_1.1.0_demo.zip
Полный дистрибутив SXSkinComponents: http://www.saarixx.info/sxskincomponents/download.php?name=full_1.1.0&redir=http://www.saarixx.info/sxskincomponents/download/sxskincomponents_1.1.0_full.zip

Автор: Snowy 19.12.2006, 12:16
Хм. Весьма неплохо.
Особенно учитывая бесплатность.
Не всё гладко. Но куда ж без этого smile
Хотя уж демо приложение глючить не должно.
Но с последним скином глюк с перемещением окна - не схватить за заголовок smile
В целом впечатление от демы хорошее.
Нуно будет попробовать поковырять на досуге...

Автор: Yanis 19.12.2006, 12:22
Цитата(Snowy @  19.12.2006,  13:16 Найти цитируемый пост)
Но с последним скином глюк с перемещением окна - не схватить за заголовок

Ага и правда. Видимо дело в скине. Надо бы бросить ссылкой в атора ))

Автор: Reptile 19.12.2006, 12:58
Цитата(Snowy @  19.12.2006,  12:16 Найти цитируемый пост)
Но с последним скином глюк с перемещением окна - не схватить за заголовок

А у меня получилось  smile Нужно хватать за полоску под надписью, но сути это не меняет, это не правильно  smile Спасибо Yanis

Автор: Addmin 19.12.2006, 18:20
Для "cкинизации" Есть ещё пакет компонентов AlphaComponents, для бывших граждан СНГ - также бесплатны.

http://www.alphaskins.com

Автор: s-mike 26.12.2006, 19:17
Цитата(Addmin @  19.12.2006,  18:20 Найти цитируемый пост)
Есть ещё пакет компонентов AlphaComponents, для бывших граждан СНГ - также бесплатны.

http://www.alphaskins.com 

Только без исходного кода.

Автор: s-mike 26.12.2006, 19:35
А вот когда я вижу в коде такие вот фрагменты:
Код

begin
 inherited;
 SaveState(NUUState);
 SaveState(NFUState);
 SaveState(HUUState);
 SaveState(HFUState);
 SaveState(DFUState);
 SaveState(RUUState);
 SaveState(NUCState);
 SaveState(NFCState);
 SaveState(HUCState);
 SaveState(HFCState);
 SaveState(DFCState);
 SaveState(RUCState);
 SaveState(NUGState);
 SaveState(NFGState);
 SaveState(HUGState);
 SaveState(HFGState);
 SaveState(DFGState);
 SaveState(RUGState);
 //
 SaveTransformEffectData(S,HInCheckBoxEffect);
 SaveTransformEffectData(S,HOutCheckBoxEffect);
 SaveTransformEffectData(S,CheckCheckBoxEffect);
 SaveTransformEffectData(S,UncheckCheckBoxEffect);
 SaveTransformEffectData(S,DownCheckBoxEffect);
 SaveTransformEffectData(S,UpCheckBoxEffect);
 SaveTransformEffectData(S,EnableCheckBoxEffect);
 SaveTransformEffectData(S,DisableCheckBoxEffect);
 SaveTransformEffectData(S,FocusCheckBoxEffect);
 SaveTransformEffectData(S,UnfocusCheckBoxEffect);
 //
 SaveTransformEffectData(S,HInGlyphEffect);
 SaveTransformEffectData(S,HOutGlyphEffect);
 SaveTransformEffectData(S,CheckGlyphEffect);
 SaveTransformEffectData(S,UncheckGlyphEffect);
 SaveTransformEffectData(S,DownGlyphEffect);
 SaveTransformEffectData(S,UpGlyphEffect);
 SaveTransformEffectData(S,EnableGlyphEffect);
 SaveTransformEffectData(S,DisableGlyphEffect);
 SaveTransformEffectData(S,FocusGlyphEffect);
 SaveTransformEffectData(S,UnfocusGlyphEffect);
end;

или
Код

 if S='' then exit;
 if S='ScrollBar' then
  begin
   SetAsWinColor(clScrollBar); exit;
  end;
 if S='Background' then
  begin
   SetAsWinColor(clBackground); exit;
  end;
 if S='ActiveCaption' then
  begin
   SetAsWinColor(clActiveCaption); exit;
  end;
 if S='InactiveCaption' then
  begin
   SetAsWinColor(clInactiveCaption); exit;
  end;
 if S='Menu' then
  begin
   SetAsWinColor(clMenu); exit;
  end;
 if S='Window' then
  begin
   SetAsWinColor(clWindow); exit;
  end;
 if S='WindowFrame' then
  begin
   SetAsWinColor(clWindowFrame); exit;
  end;
 if S='MenuText' then
  begin
   SetAsWinColor(clMenuText); exit;
  end;
 if S='WindowText' then
  begin
   SetAsWinColor(clWindowText); exit;
  end;
 if S='CaptionText' then
  begin
   SetAsWinColor(clCaptionText); exit;
  end;
 if S='ActiveBorder' then
  begin
   SetAsWinColor(clActiveBorder); exit;
  end;
 if S='InactiveBorder' then
  begin
   SetAsWinColor(clInactiveBorder); exit;
  end;
 if S='AppWorkSpace' then
  begin
   SetAsWinColor(clAppWorkSpace); exit;
  end;
 if S='Highlight' then
  begin
   SetAsWinColor(clHighlight); exit;
  end;
 if S='HighlightText' then
  begin
   SetAsWinColor(clHighlightText); exit;
  end;
 if S='BtnFace' then
  begin
   SetAsWinColor(clBtnFace); exit;
  end;
 if S='BtnShadow' then
  begin
   SetAsWinColor(clBtnShadow); exit;
  end;
 if S='GrayText' then
  begin
   SetAsWinColor(clGrayText); exit;
  end;
 if S='BtnText' then
  begin
   SetAsWinColor(clBtnText); exit;
  end;
 if S='InactiveCaptionText' then
  begin
   SetAsWinColor(clInactiveCaptionText); exit;
  end;
 if S='BtnHighlight' then
  begin
   SetAsWinColor(clBtnHighlight); exit;
  end;
 if S='3DDkShadow' then
  begin
   SetAsWinColor(cl3DDkShadow); exit;
  end;
 if S='3DLight' then
  begin
   SetAsWinColor(cl3DLight); exit;
  end;
 if S='InfoText' then
  begin
   SetAsWinColor(clInfoText); exit;
  end;
 if S='InfoBk' then
  begin
   SetAsWinColor(clInfoBk); exit;
  end;

, то у меня возникают сомнения по поводу професиионализма того, кто это написал. Кода много, а толку мало. Как можно назвать человека, которому не лень строчить такие длинные последовательности абсолютно однообразного кода?

Автор: Snowy 26.12.2006, 23:18
Цитата(s-mike @  26.12.2006,  19:35 Найти цитируемый пост)
Как можно назвать человека, которому не лень строчить такие длинные последовательности абсолютно однообразного кода?
китаец smile

Добавлено @ 23:19 
Деёствительно. Данный код вызывает как минимум недоумение...

Автор: troyane 7.1.2007, 21:45
Народ, но обясните, как правильно установить компонент этот?
Помогите?!
 smile 

Автор: Snowy 7.1.2007, 23:10
В дельфи открой файл в каталоге SXSkinsComponents\Packages\
Файл с именем SXSkin_Dверсиядельфи_R.dpk
Нажми кнопку "Compile"
Закрой файл.
Открой файл SXSkin_Dверсиядельфи_D.dpk
Нажми кнопку "Compile"
Нажми кнопку "Install"

Автор: DelphiFan 5.2.2009, 19:36
Прикольно!








 smile  smile  smile  smile  smile  smile  smile  smile 

Автор: Чoо 30.6.2010, 19:31
обновите пожалуйста ссылки в первом посте.

http://www.torry.net/vcl/packs/skins/sxskincomponents_1.2.1_full.zip (новее вроде и нету).

Автор: Gambetto 7.10.2017, 00:25
Цитата

Сайт: http://www.saarixx.info/sxskincomponents/ru/


Народ, по этой ссылке уже порно-сайт живёт.  smile 

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