Использование пользовательских стилей показывает недопустимые символы при щелчке правой кнопкой мыши по файлу в TOpenDialog
См. шаги ниже для воспроизведения. Хорошо работает в XE2, но не XE8.
- Создайте новое приложение VCL Forms - Delphi
- Поместите a
TButton
и a TOpenDialog
в форму
- На кнопке
OnClick
вызов события OpenDialog1.Execute
- Запустите программу, откройте диалоговое окно файла и щелкните правой кнопкой мыши текстовый файл = > показывает пункты меню ok
- Перейдите в раздел "Проект/Параметры/Приложение/Внешний вид". Включите и выберите собственный стиль (например, "Ruby Graphite" ) и перекомпилируйте
- Запустите программу, откройте диалоговое окно файла и щелкните правой кнопкой мыши текстовый файл = > не отображает пункты меню правильно (отображаются недопустимые символы)
Протестировано с обновлением подписки XE8 1 (и Windows обновлена с 8.1 до 10)
Ответы
Ответ 1
Windows 10 вводит некоторые внутренние изменения в коде, ответственном за рисование всплывающих меню оболочки. Поэтому код VCL Style должен быть изменен для совместимости с Windows 10. Я только что сообщил это для EMB
В качестве обходного пути вы можете использовать проект VCL Styles Utils, который исправляет эту проблему (вам нужно добавить только блок Vcl.Styles.Utils.Menus
в свой проект),
Проверьте следующее изображение. В левом всплывающем меню используются стандартные стили VCL, а в правом меню используется проект VCL Styles Utils
.
![введите описание изображения здесь]()