+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 94.09 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

VCL Styles - скины в Delphi XE2

01.06.2012 11:28
Snowy

В Delphi XE2 появился встроенный механизм скинов с названием "VCL Styles".

Если зайти в свойства проекта и выбрать Application -> Appearance, то мы увидим поле 'Custom Styles', в котором мы можем добавить стандартные стили, а также посмотреть, как они выглядят, при помощи кнопочки 'Preview'.

Application Apearance 

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

За работу со стилями отвечает класс TStyleManager, расположенный в модуле Themes . Данный менеджер стилей предоставляет следующие возможности:

  • Установить стиль
  • Загрузить стиль из файла
  • Загрузить стиль из ресурса

Все эти действия можно производить, как с объектом класса TStyleManager, так и непосредственно через методы класса. 

Для смены стиля предназначены команды SetStyle и TrySetStyle.

TStyleManager.TrySetStyle('Ruby Graphite', false);

Второй параметр у TrySetStyle - показывать ли сообщения об ошибке, если не удалось выбрать стиль.

Список зарегистрированных стилей содержится в массиве StyleNames.

Организовать смену стилей можно, например, с помощью ComboBox:

uses Themes;
 
procedure TForm1.FormCreate(Sender: TObject);
var
  sm: TStyleManager;
  i: integer;
begin
  sm := TStyleManager.Create;
  for i := 0 to Length(sm.StyleNames)-1 do
    ComboBox1.Items.Add(sm.StyleNames[i]);
end;
 
procedure TForm1.ComboBox1Select(Sender: TObject);
begin
  TStyleManager.TrySetStyle(ComboBox1.Text, false);
end;

Загрузить стиль из файла поможет метод LoadFromFile.

function LoadStyle(FileName: string): string; // загрузить скин и вернуть его имя
var
  sm: TStyleManager;
  si: TStyleInfo;
begin
  result := '';
  sm := TStyleManager.Create;
  try
    if TStyleManager.IsValidStyle(FileName, si) then // взять информацию о стиле в si
    begin
      result := si.Name;
      if sm.Style[result] = nil then
         sm.LoadFromFile(FileName);
    end;
  finally
    sm.Free;
  end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var s: string;
begin
  s := LoadStyle('C:\Temp\Test.vsf'); // загрузить скин
  if s <> '' then // если не загрузили - то имени нет
  begin
    TStyleManager.TrySetStyle(s, false); // включить
    if ComboBox1.Items.IndexOf(s) < 0 
      then ComboBox1.Items.Add(s); // если нет в списке - добавить
  end;
end;

Через свойство Style можно получить стиль с указанным именем, или проверить его на существование, как в этом примере. Метод IsValidStyle позволяет определить, является ли файл стилем и, если да, то получить информацию о нём - название, автор, сайт автора и почта. Нам интересно только название.

Аналогично можно загрузить стиль из ресурса, при помощи TryLoadFromResource, в параметрах которого указать тип ресурса и имя. Но мне кажется более удобным следующий вариант:

  • Открываем меню Project -> Resources and Images.
  • Нажимаем кнопку Add.
  • В комбобоксе справа выбираем тип файла 'Any File'
  • Выбираем файл со стилем
  • В поле Resource Identifer пишем имя скина
  • В комбобоксе Resource Type пишем ручками: 'VCLSTYLE'
  • Повторяем данные действия для каждого файла-стиля.
  • Жмём Ок. Компилируем проект.

Add VCL Style

После компиляции все стили автоматически попадут в список по-умолчанию.

Где взять файлы со стилями? Хороший вопрос. Думаю, в скором времени появятся библиотеки стилей. В комментариях пишите, где можно взять готовые.

Для создания новых стилей существует специальный редактор. Находится он в меню Tools -> VCL Style Designer.

Я себе для тестов на скорую руку сляпал вот такой зелёненький.

Если вы создали свой стиль, или скачали где-то, и хотите, чтобы он появился в настройках проекта, то файл следует сохранить в папку C:\Documents and Settings\Public\Documents\RAD Studio\9.0\Styles

Ссылки по теме

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.

В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года