Ressource-Typen
Ressourcen sind binäre Daten die von einem getrenntem Compiler,
dem Ressourcen-Compiler, aus Textdateien erzeugt und dann zur Anwendung dazugelinkt
werden. Ressourcen werden getrennt vom Programm bearbeitet, d.h. das Programm selbst
ist damit in bestimmten Grenzen unabhängig von Änderungen an den Ressourcen. Wird
eine Ressource modifiziert, so müssen in der Regel nur der Ressourcen-Compiler und
der Linker neu gestartet werden. Wenn Sie allerdings Ressourcen hinzufügen oder
löschen, so ist in der Regel auch das Programm noch entsprechend anzupassen.
WINDOWS kennt folgende Arten von Ressourcen:
Icons , Cursor, Bitmaps, Strings, Menüs, Dialoge, Tastenkürzel-Tabellen,
Fonts, Versions-Informationen und anwenderdefinierte Ressourcen |
Bis auf die Font-Ressource werden im Kurs alle Ressourcen behandelt.
Dialoge werden im nächsten Kapitel gesondert behandelt.
Ressourcen sind normalerweise in zwei Dateien abgelegt: in einer
RC-Datei und in einer RES-Datei. Die RC-Datei ist die textuelle Beschreibung der
Ressourcen. Diese Datei ist die Eingabedatei des Ressource-Editors (mehr dazu ab
der nächsten Lektion). Die RES-Datei ist die vom Ressource-Compiler übersetzte binäre
Ressource-Datei; sie wird letztendlich zur Anwendung dazugelinkt.
Alle Ressourcen werden über IDs angesprochen. Diese IDs werden vom
Ressourcen-Editor in einer getrennten Datei, der Datei resource.h, abgelegt.
Nachfolgend ist ein Auszug aus einer RC-Datei wiedergegeben:
/////////////////////////////////////////////////////////////////////////////
//
// Symbol
//
// Symbol mit dem niedrigsten ID-Wert an erster Stelle platziert, ....
// ist auf allen Systemen einheitlich.
....
IDR_MAINFRAME ICON DISCARDABLE "res\\MouseMsg.ico"
IDR_MOUSEMTYPE ICON DISCARDABLE "res\\MouseMsgDoc.ico"
|
Die dazugehörige Datei resource.h hat folgenden Inhalt:
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by MOUSEMSG.RC
//
#define IDR_MAINFRAME
128
#define IDR_MOUSEMTYPE
129
#define IDD_ABOUTBOX
100
.... |
 |
Sie können auch Ressourcen auch aus einer bestehenden Datei
(exe, dll, res, rc) extrahieren und dann in Ihren eigenen Anwendungen einsetzen.
Wie dies vonstatten geht, das erfahren Sie in der nachfolgenden Übung. Beachten
Sie dabei aber bitte unbedingt eventuelle Copyright-Vermerke! |
 |
Obwohl der Ressource-Editor noch nicht behandelt wurde, soll
nun, sozusagen als kleiner Einstieg, einmal demonstriert werden, wie aus einer
bestehenden Datei Ressourcen extrahiert werden können. Damit hier nichts schief
gehen kann, kopieren Sie sich zunächst einmal die Datei MSDEV.EXE aus
dem Verzeichnis C:\Programme\Microsoft Visual Studio\Common\MSDev98\Bin
in ein temporäres Verzeichnis. Sollten Sie den Visual C++ Compiler in einem
anderen Verzeichnis installiert haben, so passen Sie den Pfad entsprechend an.
Starten Sie danach das Visual Studio und gehen Sie ins Menü 'Datei-Öffnen'.
Stellen Sie zunächst im Dialog Öffnen den Dateityp und
Öffnen als wie im Bild dargestellt ein. Öffnen Sie dann anschließend die
kopierte Datei.

Danach werden die in der EXE-Datei vorhandenen Ressourcen in einer Baumansicht
dargestellt:

Sie können die einzelnen Ressourcen durch einen Doppelklick öffnen und sich
anschauen. So enthält z.B. die Bitmap-Ressource mit der ID 20001 die Startup-Bitmap
des Visual Studios. Um eine bestimmte Ressource zu extrahieren, klicken Sie
diese in der Baumansicht mit der rechten Maustaste an und wählen im dann eingeblendeten
Kontext-Menü den Menüpunkt Exportieren....
|
Mit zum Lieferumfang des Visual Studios gehören eine Reihe von vordefinierten
Ressourcen die Sie in eigenen Programmen einsetzen können. Sie finden diese Ressourcen
auf der MSDN Library CD im Verzeichnis \SAMPLES\VC98\MFC\GENERAL\CLIPART
und dort in der Datei COMMON.RES. Den Inhalt dieser Datei können Sie sich
auf die gleiche Art und Weise ansehen wie in der Übung angegeben.
Damit genug der Vorworte. Wenden wir uns nun der ersten Ressource, den Icons
(Symbolen), zu.
|