Forms und Buttons im Vista-Style



  • Wenn Du mit einem älteren BCB die Windows Styles haben willst, musst Du ein Manifest einbinden. Damit sagst Du Windows das es eine neuere Version der Common-Controls für Dein Programm laden soll.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity
        version="1.0.0.0"
        processorArchitecture="X86"
        name="meineApp"
        type="win32"
    />
    <description>Programmbeschreibung</description>
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel
                    level="asInvoker"
                    uiAccess="false"/>
            </requestedPrivileges>
        </security>
    </trustInfo>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity
                type="win32"
                name="Microsoft.Windows.Common-Controls"
                version="6.0.0.0"
                processorArchitecture="X86"
                publicKeyToken="6595b64144ccf1df"
                language="*"
            />
        </dependentAssembly>
    </dependency>
    </assembly>
    

    Diese XML Datei bindest Du in Dein Programm als Resource ein über eine *.RC Datei:

    1            24             "myApp.manifest"
    

    Die 1 ist ResourceID, 24 ist der ResourceTyp (BCB kennt kein Symbol für Manifeste) und der Rest ist die XML Datei. Auf diese Weise werden Buttons etc. nun zur Laufzeit im aktivierten Windows Style dargestellt.


Anmelden zum Antworten