Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Исправление Ошибки Отображения Меню в Delphi XE8 на Windows 10

Delphi , Программа и Интерфейс , Диалоги и Фреймы

Введение

При работе с компонентами Delphi иногда возникают проблемы, связанные с изменениями операционной системы или обновлениями самого окружения разработки. В данном случае, рассматривается проблема, связанная с отображением меню при выборе пользовательской темы оформления в Delphi XE8 на Windows 10.

Описание проблемы

Пользователи, работающие с Delphi XE8, столкнулись с проблемой, при которой при использовании пользовательских стилей (custom styles) в диалоговом окне открытия файла (TOpenDialog) при правом клике на файл отображаются некорректные символы. Это поведение наблюдается после компиляции программы с включенными пользовательскими стилями, такими как "Ruby Graphite". Проблема не наблюдается в предыдущих версиях Delphi, например, в XE2.

Шаги воспроизведения

  1. Создайте новый проект VCL Forms Application в Delphi.
  2. Разместите на форме TButton и TOpenDialog.
  3. В событии OnClick кнопки вызовите метод Execute компонента TOpenDialog.
  4. Запустите программу, откройте диалоговое окно и выполните правый клик на текстовый файл — меню будет отображаться корректно.
  5. Перейдите в Project/Options/Application/Appearance, включите и выберите пользовательский стиль, например, "Ruby Graphite", и перекомпилируйте проект.
  6. Запустите программу снова, откройте диалоговое окно и выполните правый клик на текстовый файл — меню не будет отображаться корректно (покажутся некорректные символы).

Эта проблема была проверена на Delphi XE8 Subscription Update 1 и операционной системе Windows, обновленной с версии 8.1 до 10.

Альтернативный ответ

Дополнительные шаги для воспроизведения проблемы не требуются, так как описание проблемы уже содержит полный набор действий для её демонстрации.

Подтвержденный ответ

Windows 10 внес изменения в код, отвечающий за отображение всплывающих меню оболочки, что делает необходимым внесение изменений в код VCL Style для совместимости с новой операционной системой. Об этом было сообщено в Embarcadero.

В качестве временного решения можно использовать проект VCL Styles Utils, который исправляет данную проблему. Для этого необходимо добавить в свой проект единицу Vcl.Styles.Utils.Menus.

Пример кода

// Для использования VCL Styles Utils, добавьте в свой проект следующую единицу:
uses
  Vcl.Styles.Utils.Menus;

Рекомендуемое действие

Следуйте инструкциям по использованию VCL Styles Utils для исправления отображения меню в Delphi XE8 на Windows 10. Вы можете скачать необходимые файлы с GitHub по ссылке: VCL Styles Utils.

Заключение

Пользовательские стили в Delphi являются мощным инструментом для создания уникального интерфейса, но требуют особого внимания при обновлении операционной системы. Использование проектов, таких как VCL Styles Utils, помогает обеспечить совместимость с последними изменениями в Windows и улучшить пользовательский опыт.

Примечание:

Это одно из рисков использования пользовательских стилей в Delphi. Embarcadero должен более тщательно информировать разработчиков о таких рисках и предлагать обновления, которые бы минимизировали возможные проблемы совместимости.

Примечание для SEO: В статье использованы ключевые слова, такие как "Delphi XE8", "Windows 10", "VCL Styles", "TOpenDialog", "правое клик", "некорректное отображение", "исправление ошибок", "Object Pascal", "код на Delphi", что поможет улучшить индексацию и поиск по запросам, связанным с разработкой под Delphi и решением проблем, возникающих в процессе разработки.

Создано по материалам из источника по ссылке.

Проблема в Delphi XE8 связана с некорректным отображением меню в диалоговом окне при выборе пользовательской темы оформления на Windows 10.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Диалоги и Фреймы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-02-05 15:44:36/0.0038738250732422/0