Олег Киреев Опубликовано 7 декабря, 2015 Поделиться Опубликовано 7 декабря, 2015 Здравствуйте Добрые Люди. Подскажите пожалуйста как програмно изменить стиль в RAD Studio 10 Seatle? Чтобы пользователь из КомбоБокса мог выбрать нужный. Пробовал по разному занося файл стиля *.fsf в Ресурсы проекта: //выбор цветового стиля procedure TForm_glavn.ComboBox1Change(Sender: TObject); var Stream: TResourceStream; // s:TStyleBook; begin if ComboBox1.ItemIndex=1 then begin Stream := TResourceStream.Create(HInstance, 'Resource_1' , RT_RCDATA); //s:=TStyleBook.Create(Self); try //s.LoadFromFile(TPath.GetDocumentsPath + PathDelim + 'AquaGraphite.style'); StyleBook1.Styles[1].LoadFromStream(Stream); //StyleBook1.Resource.LoadFromStream(Stream); StyleBook1.Style.Release; //StyleBook1.LoadFromStream(Stream); //StyleBook1.CurrentItemIndex := 1;//1, 2 //StyleBook1.StyleName:='Android'; finally Stream.Free; end; end; end; и не получается. С Уважением. Олег Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 7 декабря, 2015 Модераторы Поделиться Опубликовано 7 декабря, 2015 procedure LoadStyleByPlatform; const {$IFDEF ANDROID} StyleName = 'ANDROID'; {$ENDIF} {$IFDEF MSWINDOWS} StyleName = 'WINDOWS'; {$ENDIF} {$IFDEF MacOS} StyleName = {$IFDEF IOS} 'IOS'; {$ELSE} 'MACOS';{$ENDIF} {$ENDIF} var MyStyle: TFmxObject; begin if (FindResource(Hinstance, PChar(StyleName), RT_RCDATA) <> 0) then begin MyStyle := TStyleStreaming.LoadFromResource(Hinstance, StyleName, RT_RCDATA); TStyleManager.SetStyle(MyStyle); end; end; вот так загружается стиль из ресурсов, для определенной платформы Kitty 1 Цитата Ссылка на комментарий
0 Олег Киреев Опубликовано 7 декабря, 2015 Автор Поделиться Опубликовано 7 декабря, 2015 Здравствуйте ZuBy. СпасиБо за ответ. Но пожалуйста "разжуйте" мне этот код. Я ещё не так хорошо разбираюсь. Как же всётаки пользователю выбрав конкретное из КомбоБокса изменить стиль всех окон приложения? С Уважением Олег. Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 8 декабря, 2015 Модераторы Поделиться Опубликовано 8 декабря, 2015 (изменено) procedure LoadStyleByName(const StyleName: string); var MyStyle: TFmxObject; begin if FileExists(StyleName) then begin MyStyle := TStyleStreaming.LoadFromFile(StyleName); TStyleManager.SetStyle(MyStyle); end; end; использовать так, если в ComboBox'e указаны имена OnChange LoadStyleByName('путь/'+ComboBox1.Items[ComboBox1.ItemIndex]); Изменено 8 декабря, 2015 пользователем ZuBy Kitty 1 Цитата Ссылка на комментарий
0 haword Опубликовано 8 декабря, 2015 Поделиться Опубликовано 8 декабря, 2015 давай еще крупнее и еще краснее шрифт, тогда больше людей ответят. Vitaldj и rustam_d 2 Цитата Ссылка на комментарий
0 enatechno Опубликовано 9 декабря, 2015 Поделиться Опубликовано 9 декабря, 2015 Как же всётаки пользователю выбрав конкретное из КомбоБокса изменить стиль всех окон приложения? http://delphifmandroid.blogspot.com/2013/11/firemonkey.html Kitty 1 Цитата Ссылка на комментарий
Вопрос
Олег Киреев
Здравствуйте Добрые Люди.
Подскажите пожалуйста как програмно изменить стиль в RAD Studio 10 Seatle? Чтобы пользователь из КомбоБокса мог выбрать нужный. Пробовал по разному занося файл стиля *.fsf в Ресурсы
проекта:
и не получается.
С Уважением. Олег
Ссылка на комментарий
5 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.