Как установить системный стиль по умолчанию в Delphi 10 Seattle?

Я пытаюсь перенести некоторый код, который работает в Delphi XE8, в Delphi 10 Seattle.

Этот код устанавливает системный стиль по умолчанию для моей программы, но метод SetSystemStyle не существует в Delphi 10 Seattle.

TStyleManager.SetSystemStyle(Self);

person Zoltan Karpati    schedule 10.09.2015    source источник
comment
Извините, я искал не в том месте. Этот метод был удален. Я понятия не имею, как адаптировать ваш код. Это будет что-то вроде TStyleManager.SetStyle(xxx.GetSystemStyle(yyy)), но я не знаю, где взять xxx и yyy. Ищите использование IStyleBehavior в исходном коде. Документов как обычно нет. Embarcadero сделает это через пару лет.   -  person David Heffernan    schedule 11.09.2015
comment
Из этого источника – отметьте заголовок поля Включите темы выполнения на панели Файл манифеста в разделе Параметры проекта.   -  person Alexander Sorokin    schedule 11.09.2015
comment
@ Александр Нет, это для приложений Windows VCL.   -  person David Heffernan    schedule 12.09.2015


Ответы (1)


Я добавил Default_Style_Block_Pointer: TMemoryStream; в MainForm Var: block

Я поместил этот код в событие MainForm.OnCreate:

Default_Style_Block_Pointer:=TMemoryStream.Create;
  TStyleStreaming.SaveToStream(TStyleManager.ActiveStyle(Self),Default_Style_Block_Pointer,TStyleFormat.Binary);

Я использую этот код для восстановления стиля по умолчанию:

     Default_Style_Block_Pointer.Position:=0; 
        TStyleManager.SetStyle(TStyleStreaming.LoadFromStream(Default_Style_Block_Pointer));
person Zoltan Karpati    schedule 26.09.2015