Ressourcen
Übersicht
Windows
Event
Beispiele
Erweiterungen
 

Ressourcen

Zur besseren Trennung von Programmierung und äußerer Gestaltung der Programmoberfläche werden Resourcen eingesezt.
Resourcen werden in einer einfachen Skriptsprache erstellt und nehmen Ihnen eine Menge Arbeit ab. Damit können Sie Dinge wie Menüs, Dialogfelder, Symbole, Bitmaps und auch wiederum andere Resourcen-Daten erstellen. Mit Resourcen legen Sie im Allgemeinen das Erscheinungsbild einer Anwendung fest.

Keine Sorge, Sie müssen nicht erst noch eine Skriptsprache erlernen, um Resourcen-Skripte zu erstellen, da die Syntax recht einfach ist. Am besten, ich zeige es Ihnen anhand einer solchen Resourcen-Datei. 1 24 xptheme.xml FB_PROGRAM_ICON ICON test.ico Die erste Zeile läd ein Manifest in das Programm welches eine verbesserte Darstellung ermöglicht.
Die zweite Zeile läd ein Icon, welches als Programmicon, in der Titelzeile und im Tray verwendet werden kann.
Jede Zeile besteht aus Ressourcennummer, Ressourcentyp und Ressourcendaten.

Eine Hilfe zum GoRC (FB verwendet diesen Resource Compiler) können Sie hier nachlesen (engl.)

Manifest zur Verwendung visueller Stile

Ab Windows XP können Benutzeroberflächen grafisch aufwendiger ausgeführt werden, indem für die Fenster Visual Styles aktiviert werden.
1 24 xptheme.xml Die Ressourcennummer kann normalerweise frei gewählt werden, nicht beim Manifest. Hier muss sie 1 sein.
Der Ressourcentyp muss im Allgemeinen 24 sein, man kann auch den Ressourcentyp RT_MANIFEST als 24 definieren.
Die Ressourcendaten sind hier ein externer Text in der Datei 'xptheme.xml'.
<?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.1"
        processorArchitecture="X86"
        name="CompanyName.ProductName.MyApplication"
        type="win32"
     />
     <description>Optional MyDescription for MyApplication</description>

     <!-- Compatibility section for Program Compatibility Assistant (PCA) -->
     <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
         <application>
             <!-- Windows Vista -->
             <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
             <!-- Windows 7 -->
             <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
             <!-- Windows 8 -->
             <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
         </application>
     </compatibility>

     <!-- Trustinfo section for User Account Control (UAC) -->
     <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
             <requestedPrivileges>
                 <!-- level   = "asInvoker"            -->
                 <!-- level   = "highestAvailable"     -->
                 <!-- level   = "requireAdministrator" -->
                 <requestedExecutionLevel
                     level    = "asInvoker"
                     uiAccess = "false"
                 />
             </requestedPrivileges>
         </security>
     </trustInfo>

     <!-- Dependency section -->
     <dependency>
         <dependentAssembly>
             <assemblyIdentity
                 type="win32"
                 name="Microsoft.Windows.Common-Controls"
                 version="6.0.0.0"
                 processorArchitecture="X86"
                 publicKeyToken="6595b64144ccf1df"
                 language="*"
             />
        </dependentAssembly>
    </dependency>

Weitere Ressourcen

FB_PROGRAM_ICON ICON test.ico 20 BITMAP "Volta.bmp" 34 FONT "LCD.ttf" 50 RCDATA "Volta.png" Das Schema ist bei den einzeiligen Ressourceinträgen gleich (Ressourcennummer, Ressourcentyp und Ressourcendaten).
Der Vorteil ist dabei daß die Daten nicht mehr als Zusatzdateien der EXE beigegeben werden, sondern in der EXE eingebunden sind.

Beispiele wie Ressourcen geladen werden: Icon und Font