Конструктор форм не соответствует стилю отображения элемента управления для обновленного проекта - PullRequest
1 голос
/ 24 декабря 2008

У меня есть проект, который я начал в Turbo Delphi, который я недавно обновил до D2009, и я заметил небольшую причуду в конструкторе форм. Ко всем старым формам применяется стиль Win98. Например, кнопки серого цвета с острыми квадратными краями. Но любая новая форма, которую я создал после обновления, отображает элементы управления в стиле WinXP. Если я скопирую элемент управления из старой формы и вставлю его в новую, стиль изменится. Во время выполнения все элементы управления из всех форм отображаются в стиле XP.

Есть идеи, что заставляет мои старые формы показывать в старом стиле? Я просмотрел список свойств, но ничего не выскакивает на меня. Но, очевидно, что-то есть, и оно постоянно, потому что сохранение и перезагрузка не изменяют его. Кто-нибудь знает, где это свойство и как я могу это исправить?

Ответы [ 5 ]

2 голосов
/ 24 декабря 2008

Вы должны включить темы во время выполнения.

Вы проверяли?

Project | Options | Application | [  ]  Enable Run Time Themes
1 голос
/ 24 декабря 2008

смотрит на предложение использования как в старой, так и в новой форме, может быть что-то другое. я знаю, что в Delphi 7 вам нужно было добавить xpman (или что-то в этом роде), чтобы получить скин windows.

0 голосов
/ 16 января 2016

Хорошо, используя D2007,

имел ту же проблему с моими пакетами времени выполнения. Они могут быть созданы с использованием D5 или D7.

Чтобы решить эту проблему: просто добавьте "XP Theme ManiFest" в файл res "вашего преступника".

Пример манифеста D2007:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity
    type="win32"
    name="CodeGear RAD Studio"
    version="11.0.2902.10471" 
    processorArchitecture="*"/>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
        type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        publicKeyToken="6595b64144ccf1df"
        language="*"
        processorArchitecture="*"/>
    </dependentAssembly>
  </dependency>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="asInvoker"
          uiAccess="false"/>
        </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>
0 голосов
/ 26 декабря 2008

Может быть, у вас в настройках dfm есть неверная настройка Ctl3D (sp?)?

0 голосов
/ 24 декабря 2008

Вы проверяли файлы dfm? Иногда там есть что-то, что не отображается в списке свойств.

...