В Delphi 10.1 Berlin VCL приложения, в Параметры проекта на странице Внешний я добавил два стиля по умолчанию Windows, стиль:Невозможно получить выбранные стили тему VCL
В обработчик события FormShow
у меня есть этот код:
procedure TForm1.FormShow(Sender: TObject);
var
s: string;
begin
// Show all available in application styles:
ComboBox1.Items.BeginUpdate;
try
ComboBox1.Items.Clear;
for s in TStyleManager.StyleNames do
ComboBox1.Items.Add(s);
ComboBox1.Sorted := True;
ComboBox1.ItemIndex := ComboBox1.Items.IndexOf(TStyleManager.ActiveStyle.Name);
finally
ComboBox1.Items.EndUpdate;
end;
end;
Но, к сожалению, во время исполнения выпадающего содержит только ONE пункт: по умолчанию стиль для Windows:
Так как я могу получить все стили проверяются в Параметры проекта?
Ваш код отлично работает для меня. Я вижу все три имени стиля в combobox. Единственное различие, которое я вижу, - в вашей кеше экрана диалогового окна «Внешний вид»; в моем, когда я выпадаю из списка, он сортируется в алфавитном порядке, а ваш нет. (На самом деле, это неправильно: если я выйду из диалогового окна и вернусь обратно, они снова будут несортированы и совпадут с вашими.) –
Возможно, есть дополнительная опция для активации/регистрации стилей VCL? – user1580348
Нет. Я создаю новую машину, поэтому я проверил на чистой, чистой установке в Берлине. Абсолютно ничего особенного вам не нужно делать. (Я на самом деле скопировал и вставил ваш код, а не удалял выпадающую форму в форме и добавлял Vcl.Themes к предложению uses, я больше ничего не делал.) –