• 0
x11

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

Вопросы

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

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

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

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

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

 

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


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

12 ответов на этот вопрос

  • 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

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

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

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

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


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

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