Кнопки и "темы выполнения": своеобразное поведение
Вы видели это?
У меня есть небольшое служебное приложение (для легкой загрузки / тестирования генерации XML из CDS и / или DBGo), и я поставил несколько кнопок (самая плохая из всех, TButton) для запуска некоторых действий.
Я никогда не обращал внимания на внешний вид, потому что я единственный, кто его использует. Поэтому сегодня я добавил новую кнопку, и они оказались отличными от других в конструкторе - но не во время работы. Это просто процесс копирования и вставки (измените имя кнопки, заголовок и событие - остальное равно источнику).
Когда я посмотрел, другие кнопки имеют серый градиент и закругленные углы, кнопка, которую я скопировал и не вставил (просто голый прямоугольник). При запуске все кнопки там, где просто голые прямоугольники.
Итак, я обнаружил, что на дизайнере W7 и Delphi применяют темы. На бегу они подчиняются Project/Options/Application/Enable runtime themes
флаг.
Это раздражает. Есть ли способ заставить Delphi делать это, подчиняясь параметру параметров проекта на дизайнере форм? (Или даже вручную, если это невозможно автоматизировать)?
РЕДАКТИРОВАТЬ:
Панели инструментов в форме взяты из CNWizards;-)
РЕДАКТИРОВАТЬ II:
Помимо отключения тем для исполняемого файла IDE, все кнопки становятся одинаково тематическими, если форма (или проект) перезагружается. Но это действительно странно.
2 ответа
Если вы хотите включить / отключить темы в IDE, откройте свойства bds.exe
выберите вкладку "Совместимость" и убедитесь, что флажок "Отключить визуальные темы" не отмечен / не установлен.
Программы, которые вы запускаете из IDE, будут наследовать параметры совместимости IDE.
Delphi IDE сама по себе является приложением, и способ, которым разработчик рисует форму, использует настройки для приложения IDE (delphi32.exe или параметры совместимости bds.exe), поэтому ответ - нет. Поведение по умолчанию отличается между версиями IDE, например. противоположное поведение (не рисование на тему) произошло в прошлом.