Перейти к содержанию
  • Регистрация
  • 0
x11

Установка дополнительных стилей

Вопрос

У меня есть проект на Delphi Berlin (мультиплатформенное приложение), где используются дополнительные стили.

Но как я их вставил в проект не могу понять.

В проекте нет StyleBook, но я вижу справа в менеджере проекта эти стили.

Их что, нужно каждый отдельный через Deploymet добавлять в проект?

Я не помню, как в старом проекте добавлял.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0
4 часа назад, x11 сказал:

Их что, нужно каждый отдельный через Deploymet добавлять в проект?

А это уже на Ваше усмотрение. Есть 2 возможности применения стилей - через StyleBook на главной форме и пользуясь методами TStyleManager, загружая стили из ресурсов. Судя по всему у Вас используется второй метод. Просто поищите по всем файлам проекта (Ctrl+Shift+F) строку "TStyleManager." - я думаю Вы найдёте где применяется стиль.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
10 часов назад, dnekrasov сказал:

Просто поищите по всем файлам проекта (Ctrl+Shift+F) строку "TStyleManager."

 

искал - отсутствует

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
10 часов назад, dnekrasov сказал:

я думаю Вы найдёте где применяется стиль.

 

только в коде:

procedure TdmRepo.SetStyle;
 var
  aPlatformStyle, sStyle: String;
  aStyle: TFMXObject;
begin
   aStyle := nil;

   if not dm.UniConnection1.Connected then
     try
       dm.UniConnection1.Connect;
     except
       on e:exception do
       begin
         ShowMessage('Ошибка подключения к базе: ' + sLineBreak + e.Message);
         exit;
       end;

     end;// try


   sStyle := dm.GetOption2Param(AppStyleParamName);// название стиля берем из базы
   if sStyle = 'Default' then
   begin
     sStyle := '';
     exit;
   end;

   //если выбираем из ресурсов
   if sStyle <> '' then
   begin
     aPlatformStyle := constPlatform[TOSVersion.Platform] + sStyle;
     aStyle    := TStyleStreaming.LoadFromResource(HInstance, aPlatformStyle, RT_RCDATA);
     aStyle.StyleName := sStyle;

     if not assigned(aStyle) then
     begin
       ShowMessage('Стиль не найден: ' + aPlatformStyle);
       exit;
     end;
   end;// if comboStyles.ItemIndex > 0 then

   TStyleManager.SetStyle(aStyle);
end;

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
13 минуты назад, x11 сказал:

только в коде:

Судя по коду - у Вас стиль в базе хранится (хотя тоже под вопросом - что такое dm, dm.UniConnection1, AppStyleParamName и что делает dm.GetOption2Param). Если так - то как они туда попадают? Так что не зная логики проекта или не видя исходники - трудно сказать.

А само применение стиля - это последняя строчка - TStyleManager.SetStyle(aStyle)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
12 минуты назад, dnekrasov сказал:

Судя по коду - у Вас стиль в базе хранится

 

Вы так и не понял. Не стиль, а название стиля.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
12 минуты назад, dnekrasov сказал:

А само применение стиля

Да я знаю, как применяется стиль. Вы вопрос, судя по всему, не поняли.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
3 минуты назад, x11 сказал:

Да я знаю, как применяется стиль. Вы вопрос, судя по всему, не поняли.

Теперь понял

16 часов назад, x11 сказал:

Их что, нужно каждый отдельный через Deploymet добавлять в проект?

Не через Deploymet, а через пункт меню Project->Resources and Images

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
15 минут назад, x11 сказал:

А кто заполняет колонку Identifier так правильно?

Ручками в поле "Resource identifier"

16 часов назад, x11 сказал:

Но как я их вставил в проект не могу понять.

Если Вы вставляли - то Вы и заполняли :)

Изменено пользователем dnekrasov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
41 минуту назад, dnekrasov сказал:

Ручками в поле "Resource identifier"

а Вы пробовали?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Странно, не помню я, чтобы вводил имена сталей.

Справа нужно вводить?

Спасибо, попробую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

В общем, я:

1. Скопировал стили в папку проекта в styles.

2. Открыл файл *.dproj и заменил там старый путь к стилям на новый, чтобы получилось такое: "<RcItem Include="styles\Android\AndroidCopperDark.style">"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...