5

誰かが7またはVista上のDelphiとWindowsAeroのための良いリソースを持っていますか?

Windows 7を会社に追加しようとしています。社内のアプリケーションで、可能な限り適切に使用できるようにしたいと考えています。

Delphi 2010を使用すると、Glassフレームを追加でき、メニューバーはAeroの外観を継承しますが、TabControls、Grids、およびStatusバーはすべて古いものとして目立ちます。

何か助けはありますか?

4

3 に答える 3

11

私の知る限り、DelphiにはWindows 7(およびVista?)の新しいマニフェストの追加が含まれていないため、独自のマニフェストリソースを含めています。http://msdn.microsoft.com/en-us/library/dd371711(VS.85).aspxおよびここここの助けを借りて:

1行でファイル「mymanifest.rc」を作成します

1 24 "my.manifest"

以下のようにmy.manifestというファイルを作成します

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity type="win32" name="OUR COMPANY NAME" version="3.1.0.0" 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="requireAdministrator" uiAccess="false"/>
        </requestedPrivileges>
    </security>
  </trustInfo>
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <!--The ID below indicates application support for Windows Vista -->
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <!--The ID below indicates application support for Windows 7 -->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
    </application>
  </compatibility>
</assembly>

次に、mymanifest.rcをプロジェクトに追加し、[ランタイムテーマを有効にする]オプションをオフにします。これは同じことを行います(ただし、柔軟性は低くなります)。'requestedExecutionLevel'セクションは、アプリのUACニーズに合わせて変更できます。

私たちのために働きます。

于 2009-11-17T14:40:06.543 に答える
7

[ランタイムテーマを有効にする]プロジェクトオプションを使用すると、ほとんどのコントロールがテーマに対応するようになることに同意します。

TMSコンポーネントは、Windows 7を含む最新のテーマを含むように常に更新されており、Raizeコンポーネントを使用すると、透明度、グラデーション、テーマ対応の色を利用できます。

于 2009-11-17T13:51:20.057 に答える
-2

ユニットXPManUsesリストに追加するだけです。

于 2010-06-24T11:38:16.850 に答える