.ifdef THS
.topic
.insert code

 Unit WinRes   Version 1.30
 

Die Unit WinRes dient der Auswertung von Windows-Ressourcen und anderen
Dateien. Sie enthlt Definitionen von Datenstrukturen und ntzliche
Routinen zum Zugriff.

 Unit WinRes: Funktionen und Prozeduren
 Unit WinRes: Typen                    
 Untersttzte Ressourcentypen          
 Copyright und Nutzungsbestimmungen    

 Unit WinRes: Funktionen und Prozeduren
 

 AnsiTo437         
 AnsiTo437Str      
 ConvertMarkers     *
 CreateLinks        *
 DeleteBitmap      
 DoneClasses        *
 FreeAccelerators  
 FreeStringBlock   
 GetStringFromBlock
 InitClasses        *
 InsertLink         *
 LoadAccelerators  
 LoadBitmap        
 LoadBitmapFile    
 LoadBitmapFileImg 
 LoadBitmapImg     
 LoadCursor        
 LoadDialog         *
 LoadIcon          
 LoadIconImg       
 LoadMenu           *
 LoadString        
 LoadStringBlock   
 LookupAccelerator 
 OpenResource      
 ReadFontInfo      
 RegisterClass      *
 SkipStub          
 SkipToResource    
 SkipToResourceS   
 SkipToResTbl      

* Diese Routinen sind nicht fr Turbo Pascal 6.0 implementiert.

 Verweis:  Unit WinRes

 AnsiTo437                     (Unit WinRes)
 

 procedure AnsiTo437(Buf: PChar);

AnsiTo437 bersetzt einen nullterminierten String, der aus ANSI-Zeichen
(Codeseite 1007) besteht, in die Codeseite 437, die unter DOS verwendet
wird.

 AnsiTo437Str                  (Unit WinRes)
 

  procedure AnsiTo437Str(Str: PString);

AnsiTo437Str bersetzt einen Pascal-String, der aus ANSI-Zeichen
(Codeseite 1007) besteht, in die Codeseite 437, die unter DOS verwendet
wird.

 ConvertMarkers                (Unit WinRes)
 

 function ConvertMarkers(Buf: PChar; Max: Word): Boolean;

ConvertMarkers bersetzt einen nullterminierten String, der mglicherweise
Markierungszeichen im Windows-Stil (&) enthlt, in einen unter Turbo Vision
oder Graphics Vision verwendbaren String, indem Markierungszeichen im
Vision-Stil eingesetzt werden (~~).

Durch diese Umwandlung kann sich die Zeichenkette verlngern. Geben Sie
deshalb im Parameter Max die Gre des Zeichenpuffers an.

ConvertMarkers gibt true zurck, wenn Markierungszeichen im String vorhanden
sind.

 CreateLinks                   (Unit WinRes)
 

 procedure CreateLinks(Info: PDialogInfo;
   Link: pointer);

Diese Prozedur bereinigt die Link-Anforderungen des Dialogs, der durch
die TDialogInfo-Struktur Info beschrieben wird, indem die anstehenden Links
zu dem Element Link aufgebaut werden.

Lesen Sie dazu das Thema Dialogfenster auswerten.

 DeleteBitmap                  (Unit WinRes)
 

 procedure DeleteBitmap(Bitmap: PBitmap);

Diese Prozedur entfernt eine TBitmap-Struktur aus dem Speicher.

 DoneClasses                   (Unit WinRes)
 

 procedure DoneClasses;

Diese Prozedur beendet die Verwaltung der Dialog- und Control-Klasen.

Lesen Sie dazu das Thema Dialogfenster auswerten.

 FreeAccelerators              (Unit WinRes)
 

 procedure FreeAccelerators(Accelerators: PAccelerators);

Diese Prozedur nimmt eine Accelerator-Tabelle aus dem Speicher.

 Siehe auch:  LoadAccelerators

 FreeStringBlock               (Unit WinRes)
 

 procedure FreeStringBlock(Block: PStringBlock);

Diese Prozedur entfernt einen String-Block aus dem Speicher.

 Siehe auch:  LoadStringBlock   
	      GetStringFromBlock


 GetStringFromBlock            (Unit WinRes)
 

 function GetStringFromBlock(Block: PStringBlock;
   Index: Word): PString;

Diese Funktion sucht in dem angegebenen String-Block sowie den evtl. mit
ihm verketteten Blcken nach dem String mit dem angegebenen Index.
Das Funktionsergebnis ist der Zeiger auf diesen String oder NIL, falls
der entsprechende Block nicht vorhanden ist.

 Siehe auch:  LoadStringBlock

 InitClasses                   (Unit WinRes)
 

 procedure InitClasses;

Diese Prozedur initialisiert die Verwaltung der Dialog- und Control-Klassen
fr LoadDialog.

Lesen Sie dazu das Thema Dialogfenster auswerten.

 InsertLink                    (Unit WinRes)
 

 procedure InsertLink(Info: PDialogInfo;
   AProc: pointer; AControl: pointer);

Diese Prozedur speichert einen Link in der Dialogfenster-Informations-
Datenstruktur, d.h. den Verweis eines Labels auf ein spter definiertes
Kontrollelement.

 Parameter   Bedeutung
 
 Info        Zeiger auf eine TDialogInfo-
	     Datenstruktur, die das zu erstel-
             lende Dialogfenster beschreibt.

 AProc       Zeiger auf eine TLinkProc-
             Prozedur, die einen gespeicherten
             Link bereinigt.

 AControl    Zeiger auf das Kontrollelement,
             von dem der Link ausgeht.

Lesen Sie dazu das Thema Dialogfenster auswerten.

 LoadAccelerators              (Unit WinRes)
 

 function LoadAccelerators(var S: TStream;
   Name: PChar): PAccelerators;

Diese Funktion ldt die Accelerator-Ressource Name aus der
Ressourcendatei S. Alle virtuellen Tastencodes werden in
Turbo-Vision-Tastencodes (kbXXXX) bersetzt.

Verwenden Sie LookUpAccelerator, um in der geladenen Ressource
fr einen Kommandowert den Tastencode aufzusuchen. Mittels
FreeAccelerators knnen Sie die Ressource zerstren.

 LoadBitmap                    (Unit WinRes)
 

 function LoadBitmap(var S: TStream;
   BitmapName: PChar): PBitmap;

Diese Funktion geht davon aus, da der Dateizeiger des Streams auf der
Ressourcentabelle steht. LoadBitmap ffnet die Bitmap-Ressource des Namens
BitmapName und legt dynamisch eine TBitmap-Struktur an.

Bitte beachten Sie, da gepackte Bitmaps in der aktuellen Version von
WinRes nicht geladen werden knnen.

Mittels der Unit Bitmap knnen Sie ein Bitmap in ein Image umwandeln,
welches durch PutImage ausgegeben werden kann.

 Siehe auch:  DeleteBitmap
              LoadBitmapImg

 LoadBitmapFile                (Unit WinRes)
 

 function LoadBitmapFile(
   var S: TStream): PBitmap;

Diese Funktion geht davon aus, da der Dateizeiger des Streams auf dem
Anfang einer gerteunabhngigen Bitmap-Datei (*.DIB, *.BMP) steht.
LoadBitmapFile ldt aus dieser Datei den Bitmap und legt dynamisch eine
TBitmap-Struktur an.

Bitte beachten Sie, da gepackte Bitmaps in der aktuellen Version von
WinRes nicht geladen werden knnen.

Mittels der Unit Bitmap knnen Sie ein Bitmap in ein Image umwandeln,
welches durch PutImage ausgegeben werden kann.

 Siehe auch:  DeleteBitmap
              LoadBitmapFileImg

 LoadBitmapFileImg             (Unit WinRes)
 

 function LoadBitmapFileImg(
   var S: TStream): pointer;

Diese Funktion geht davon aus, da der Dateizeiger des Streams auf dem
Anfang einer gerteunabhngigen Bitmap-Datei (*.DIB, *.BMP) steht.
LoadBitmapFile ldt aus dieser Datei den Bitmap und erstellt ein
gertekompatibles Image, welches mit PutImage ausgegeben werden kann.

Dazu mu die Unit Bitmap in Ihr Programm eingebunden sein. Falls nicht,
gibt diese Funktion NIL zurck.

Bitte beachten Sie, da gepackte Bitmaps in der aktuellen Version von
WinRes nicht geladen werden knnen.

 Siehe auch:  DeleteBitmap
	      LoadBitmapFile

 LoadBitmapImg                 (Unit WinRes)
 

 function LoadBitmapImg(var S: TStream;
   BitmapName: PChar): pointer;

Diese Funktion geht davon aus, da der Dateizeiger des Streams auf der
Ressourcentabelle steht. LoadBitmap ffnet die Bitmap-Ressource des Namens
BitmapName und erstellt ein
gertekompatibles Image, welches mit PutImage ausgegeben werden kann.

Dazu mu die Unit Bitmap in Ihr Programm eingebunden sein. Falls nicht,
gibt diese Funktion NIL zurck.

Bitte beachten Sie, da gepackte Bitmaps in der aktuellen Version von
WinRes nicht geladen werden knnen.

 Siehe auch:  DeleteBitmap
              LoadBitmapImg

 LoadCursor                    (Unit WinRes)
 

 function LoadCursor(var S: TStream;
   CursorName: PChar): PMyCursor;

Diese Funktion geht davon aus, da der Dateizeiger des Streams auf der
Ressourcentabelle steht. LoadCursor ffnet die Mauszeigerressource des
Namens CursorName und legt dynamisch eine TMyCursor-Datenstruktur an.

Diese Datenstruktur kann direkt von der MyMouse-Unit verwendet werden:
Definieren Sie eine GetMCursor-Serviceroutine, die einen Zeiger auf
die Datenstruktur in CursorPtr eintrgt, wenn dieser Zeigertyp verlangt
wurde. Details entnehmen Sie bitte Ihrer MyMouse-Dokumentation.


 LoadDialog                    (Unit WinRes)
 

 function LoadDialog(var S: TStream;
   DialogName: PChar): pointer;

Diese Funktion geht davon aus, da der Dateizeiger des Streams auf der
Ressourcentabelle steht. LoadDialog ffnet die Dialogfenstervorlagen-
Ressource des Namens DialogName und legt dynamisch einen entsprechenden
Dialog an.

Lesen Sie dazu das Thema Dialogfenster auswerten.

 LoadIcon                      (Unit WinRes)
 

 procedure LoadIcon(var S: TStream; IconName: PChar;
   SizeX, SizeY: Integer; NumColors: Word;
   var XorBitmap, AndBitmap: PBitmap);

Diese Funktion geht davon aus, da der Dateizeiger des Streams auf der
Ressourcentabelle steht. LoadIcon versucht, die Icon-Ressource mit
dem Namen IconName zu lesen und gibt in XorBitmap und AndBitmap
die entsprechenden gerteunabhngigen Bitmaps zurck.

Mit den Parametern SizeX, SizeY und NumColors knnen Sie Dimension
und Farbtiefe des Icons auswhlen. Falls zu einem Icon mehrere
Darstellungen gehren, wird die ausgewhlt, die den Einstellungen am
nchsten kommt.

Mit der Unit Bitmap knnen Sie die Bitmaps in Images umwandeln, um
sie mit PutImage auszugeben. Beachten Sie, da das AndBitmap unabhngig
von der Farbtiefe stets monochrom ist.

 Siehe auch: LoadIconImg

 LoadIconImg                   (Unit WinRes)
 

 procedure LoadIconImg(var S: TStream; IconName: PChar;
   SizeX, SizeY: Integer; NumColors: Word;
   var XorImage, AndImage: pointer);

Diese Funktion geht davon aus, da der Dateizeiger des Streams auf der
Ressourcentabelle steht. LoadIcon versucht, die Icon-Ressource mit
dem Namen IconName zu lesen und gibt in XorImage und AndImage
Images zurck, die mittels PutImage folgendermaen ausgegeben werden
knnen:


   PutImage(x, y, AndImage, AndPut);
   PutImage(x, y, XorImage, XorPut);


Mit den Parametern SizeX, SizeY und NumColors knnen Sie Dimension
und Farbtiefe des Icons auswhlen. Falls zu einem Icon mehrere
Darstellungen gehren, wird die ausgewhlt, die den Einstellungen am
nchsten kommt.

 Siehe auch: LoadIcon

 LoadMenu                      (Unit WinRes)
 

 function LoadMenu(var S: TStream; MenuName:
   PChar; Options: Word): pointer;

Diese Funktion geht davon aus, da der Dateizeiger des Streams auf der
Ressourcentabelle steht. LoadMenu ffnet die Men-Ressource des Namens
MenuName und legt dynamisch eine Men-Datenstruktur an. Mittels des
Parameters Options knnen Sie die Zielplattform whlen.

 Wert               Bedeutung
 
 mo_TurboVision     Erzeugt eine Turbo-Vision-
                    kompatible TMenu-Struktur.

 mo_GraphicsVision  Erzeugt eine Graphics-
                    Vision-kompatible TMenu-
                    Struktur.

 LoadString                    (Unit WinRes)
 

 function LoadString(var S: TStream;
   Index: Word): string;

Diese Funktion geht davon aus, da der Dateizeiger des Streams auf der
Ressourcentabelle steht. LoadString ermittelt den String mit der Nummer
Index aus der Ressource.

Wenn Sie mehrere Strings aus einer Ressource laden wollen, empfiehlt sich
der Einsatz von LoadStringBlock.


 LoadStringBlock               (Unit WinRes)
 

 function LoadStringBlock(var S: TStream;
   Index: Word): PStringBlock;

Diese Funktion geht davon aus, da der Dateizeiger des Streams auf der
Ressourcentabelle steht. LoadStringBlock ldt den String-Block (16 Strings)
aus der Ressource, welcher den angegebenen String enthlt.

Mittels GetStringFromBlock knnen Sie dann effizient auf die Strings
zugreifen.

 LookupAccelerator             (Unit WinRes)
 

 function LookupAccelerator(Accelerators: PAccelerators;
   Command: Word): Word;

Diese Funktion sucht in der Accelerator-Tabelle Accelerators
einen Eintrag, der mit dem Kommandowort Command verbunden ist
und gibt den zugehrigen Tastencode zurck bzw. NIL, wenn nichts
gefunden wurde.

 Siehe auch:  LoadAccelerators

 OpenResource                  (Unit WinRes)
 

 function OpenResource(Path: string): PResStream;

Diese Funktion ffnet eine Windows-Ressourcendatei und stellt (mittels
SkipStub und SkipToResTbl) den Dateizeiger auf die Ressourcentabelle,
so da durch LoadXXXX-Funktionen Ressourcen geladen werden knnen.

Path ist der Name einer EXE- oder DLL-Datei, die die Ressource enthlt.
Rckgabewert ist ein Zeiger auf einen Stream, der in den LoadXXXX-Funktionen
als Parameter erwartet wird.

Schlieen Sie die Ressource mittels Dispose(Stream, Done).


 RegisterClass                 (Unit WinRes)
 

 procedure RegisterClass
  (var ClassRec: TClassRec);

Diese Prozedur registriert eine Dialog- oder Kontrollelement-Klasse fr
die Verwendung mit LoadDialog. Vor RegisterClass mu InitClasses
aufgerufen werden.

Eine Klasse wird durch eine statische TClassRec-Struktur beschrieben.

Lesen Sie dazu das Thema Dialogfenster auswerten.

 ReadFontInfo                  (Unit WinRes)
 

 procedure ReadFontInfo(var S: TStream; var
   FontInfo: TFontInfo; FontDir: Boolean);

Diese Prozedur geht davon aus, da der Dateizeiger des Streams auf einer
Schriftartressource oder einem Eintrag des Schriftartverzeichnisses steht.
ReadFontInfo liest die Fontbeschreibung aus dem Stream. Danach steht der
Dateizeiger auf der nchsten Fontbeschreibung.

Setzen Sie FontDir = true, wenn aus dem Schriftartverzeichnis gelesen
werden soll.

 SkipStub                      (Unit WinRes)
 

 function SkipStub(var S: TStream): Boolean;

Diese Routine geht davon aus, da S ein zum Lesen geffneter Stream
einer New-Style-EXE-Datei ist, dessen Dateizeiger am Anfang steht. Die
Funktion berspringt den Stub (d.h. den Old-Style-EXE-Teil), so da der
Dateizeiger nach Ausfhrung dieser Routine auf dem New-Style-Header
steht.

Die Routine gibt true zurck, wenn sie erfolgreich war, ansonsten false.

 SkipToResource                (Unit WinRes)
 

 function SkipToResource(var S: TStream;
   Name, ResType: PChar): Boolean;

Diese Routine geht davon aus, da S ein zum Lesen geffneter Stream
einer New-Style-EXE-Datei ist, dessen Dateizeiger auf dem Anfang der
Ressourcentabelle steht. (Dies wird durch einen Aufruf von SkipStub
und SkipToResTbl erzielt.) Die Funktion fhrt zur Ressource des
angegebenen Typs und Namens.

Verwenden Sie MakeIntResource, um Ressourcen- und Typnummern in die
verlangten Parameter umzuwandeln. Fr ResType knnen Sie auch eine der
Konstanten rt_XXXX einsetzen. Setzen Sie nil fr den Namen ein, wenn die
erste Ressource des angegebenen Typs verwendet werden soll.

Die Routine gibt true zurck, wenn sie erfolgreich war, ansonsten false.

 SkipToResourceS               (Unit WinRes)
 

 function SkipToResourceS(var S: TStream;
   Name, ResType: PChar): LongInt;

Diese Funktion erfllt die gleiche Funktion wie SkipToResource. Der
Rckgabewert ist jedoch die Gre der Ressource in Bytes. Existiert die
Ressource nicht, wird 0 zurckgegeben.


 SkipToResTbl                  (Unit WinRes)
 

 function SkipToResTbl(var S: TStream): Boolean;

Diese Routine geht davon aus, da S ein zum Lesen geffneter Stream
einer New-Style-EXE-Datei ist, dessen Dateizeiger auf dem New-Style-
Header steht. (Dies wird durch einen Aufruf von SkipStub erzielt.)
Die Funktion fhrt den Stream zu der Ressourcentabelle.

Die Routine gibt true zurck, wenn sie erfolgreich war, ansonsten false.

 Unit WinRes: Typen
 

 Typ                Bedeutung
 
 MakeIntClass       Umwandlung von Integer-Werten in Klassen-Bezeichner
 MakeIntResource    Umwandlung von Integer-Werten in Typ- oder Ressourcen-
                    Bezeichner
 TAccelerator       Accelerator-Eintrag
 TAccelerators      Accelerator-Tabelle
 TBgiFontInfo       Schriftartinformation von CHR-Dateien
 TBitmap            Logisches Bitmap
 TBitmapCoreHeader  Kopf von alten Windows-Bitmaps
 TBitmapCoreInfo    Informationen ber alte Windows-Bitmaps
 TBitmapFileHeader  Kopf von Windows-Bitmap-Dateien
 TBitmapInfo        Informationen ber Windows-Bitmaps
 TBitmapInfoHeader  Kopf von Windows-Bitmaps
 TClassRec          Registrierungs-Datensatz fr Dialogfenster- und
                    Kontrollelement-Klassen
 TCpiDevCpHeader    Datenstruktur in CPI-Dateien
 TCpiFileHeader     Kopf von CPI-Dateien
 TCpiFontHeader     Datenstruktur in CPI-Dateien
 TControlData       Informationen ber ein Kontrollelement
 TCursorDirEntry    Zeigerverzeichnis-Eintrag
 TCursorRes         Datenstruktur der Cursor-Ressurcen
 TDialogBoxHeader   Informationen ber eine Dialogfenstervorlage
 TDialogInfo        Informationen ber ein Dialogfenster
 TExeHeader         Kopf von Old-Style-EXE-Dateien
 TFixedVectorInfo   Datenstruktur in Schriftressource
 TFontDir           Schriftartenverzeichnis
 TFontInfo          Datenstruktur in Schriftressource
 TIconDir           Datenstruktur in Iconressource
 TIconDirEntry      Datenstruktur in Iconressource
 TIconImage         Datenstruktur in Iconressource
 TInitProc          Prozedur zum Erzeugen von Dialogfenstern oder
                    Kontrollelementen
 TLinkProc          Prozedur zum Bereinigen eines Links
 TLinkRec           Link-Speicherung
 TMenuHeader        Datenstruktur in Menressource
 TMyCursor          Mauscursor im MyMouse-Format
 TNameInfo          Ressourceninformation
 TNormalMenuItem    Datenstruktur in Menressource
 TPopUpMenuItem     Datenstruktur in Menressource
 TPropVectorInfo    Datenstruktur in Schriftressource
 TNewRasterInfo     Datenstruktur in Schriftressource
 TRasterInfo        Datenstruktur in Schriftressource
 TResTable          Ressourcentabelle
 TRGBQuad           Farbdatenstruktur
 TRGBTriple         Farbdatenstruktur
 TStringBlock       String-Block
 TTypeInfo          Ressourcentypinformation
 TWinHeader         Kopf von New-Style-EXE-Dateien

Viele der Typen in der Unit WinRes sind Redefinitionen von Windows-Strukturen.
Sie finden ausfhrliche Informationen in der Windows-API-Dokumentation.

 Siehe auch:  Unit WinRes

 MakeIntClass                  (Unit WinRes)
 

 MakeIntClass = PChar

Verwenden Sie MakeIntClass, um einen Integer-Wert in einen Klassen-
Bezeichner umzuwandeln.


 MakeIntResource               (Unit WinRes)
 

 MakeIntResource = PChar

Verwenden Sie MakeIntResource, um einen Integer-Wert in einen Ressourcen-
oder Typ-Bezeichner umzuwandeln.


 TClassRec                     (Unit WinRes)
 

 PClassRec = ^TClassRec;
 TClassRec = record
   Class: PChar;
   Init: pointer;  { TInitProc }
 end;

Die Datenstruktur TClassRec dient der Speicherung von Informationen ber
eine Dialogfenster- oder Kontrollelement-Klasse. TClassRec-Verbnde werden
statisch deklariert und mittels RegisterClass fr die Verwendung mit
LoadDialog registriert. Lesen Sie dazu das Thema Dialogfenster auswerten.

 Feld      Bedeutung
 
 Class     Nullterminierter Klassenbezeichner.
           Verwenden Sie MakeIntClass, um
           numerische Klassen zu verwenden.
           NIL kennzeichnet einen generischen
           Dialog.

 Init      Erzeugungsprozedur fr diese
           Klasse.

 TDialogInfo                   (Unit WinRes)
 

 PDialogInfo = ^TDialogInfo;
 TDialogInfo = record
   Base: record x, y: Real end;
   Move: TPoint;
   Grow: TPoint;
   Font: Word;
   Links: PLinkRec;
   Group: Boolean;
   Dialog: pointer;
 end;

Die Datenstruktur TDialogInfo dient der Speicherung von Informationen ber
Dialogfenster whrend ihrer Erstellung durch LoadDialog.

 Feld    Bedeutung
 
 Base    Gre der Dialogfensterbasiseinheiten
 Move    Beginn des Client-Bereiches
 Grow    Gre des Non-Client-Bereiches
 Font    Schriftarthandle
 Links   Liste nicht bereinigter Links
 Group   Beginn einer Kontrollelement-Gruppe
 Dialog  Zeiger auf eine Dialogstruktur

Bitte beachten Sie, da die Interpretation und die Belegung der meisten
dieser Felder implementationsabhngig ist. Lesen Sie ferner das Thema
Dialogfenster auswerten.

 TInitProc                     (Unit WinRes)
 

 TInitProc = procedure(Data: pointer;
   Info: PDialogInfo);

Verwenden Sie Prozeduren der Form TInitProc, um ein Dialogfenster oder
ein Kontrollelement einer bestimmten Klasse zu erzeugen.

Erzeugen von Dialogfenstern

Data ist ein Zeiger auf eine TDialogBoxHeader- Datenstruktur. Die
anwenderdefinierte Prozedur mu diese Struktur auswerten und die TDialogInfo-
Struktur, die durch Info referenziert wird, belegen. Ein Zeiger auf den
erzeugten Dialog mu in das Feld Dialog dieser Struktur eingetragen werden.

Erzeugen von Kontrollelementen

Data ist ein Zeiger auf eine TControlData- Datenstruktur. Die
anwenderdefinierte Prozedur mu diese Struktur auswerten, ein Kontrollelement
erzeugen und in den Dialog, der durch die TDialogInfo-Struktur beschrieben
wird, einfgen.

 Siehe auch:  Dialogfenster auswerten

 TLinkProc                     (Unit WinRes)
 

 TLinkProc = procedure(link, control: pointer);

Verwenden Sie Prozeduren der Form TLinkProc, um einen Link eines
Kontrollelementes auf ein anderes zu erstellen.

 Parameter  Bedeutung
 
 link       Element, auf das der Link zeigt
 control    Element, das den Link ausbt

 Siehe auch:  Dialogfenster auswerten

 TLinkRec                      (Unit WinRes)
 

 PLinkRec = ^TLinkRec;
 TLinkRec = record
   Next: PLinkRec;
   proc: pointer; { TLinkProc }
   control: pointer
 end;

Einfach verkettete Listen von TLinkRec-Strukturen speichern
Link-Anforderungen.

 Feld     Bedeutung
 
 Next     Zeiger auf die nchste Struktur
 proc     Prozedur zum Herstellen des Links
 control  Element, das den Link ausbt

 Siehe auch:  Dialogfenster auswerten

 TMyCursor                     (Unit WinRes)
 

 PMyCursor = ^TMyCursor;
 TMyCursor = record
   mcHeight: Word;
   mcWidth: Word;
   mcHotSpotX: Word;
   mcHotSpotY: Word;
   mcAND: array[0..127] of Byte;
   mcXOR: array[0..127] of Byte
 end;

TMyCursor-Strukturen werden von der MyMouse-Unit verwendet, um einen
Mauszeiger zu reprsentieren.

 Feld        Bedeutung
 
 mcHeight    Hhe des Cursors in Pixel
 mcWidth     Breite des Cursors in Byte
 mcHotSpotX  x-Koordinate des Kontaktpunktes
 mcHotSpotY  y-Koordinate des Kontaktpunktes
 mcAND       ANDn-Maske des Cursors
 mcXOR       XOR-Maske des Cursors

Fr genauere Informationen lesen Sie bitte Ihre MyMouse-Dokumentation.

 TStringBlock                  (Unit WinRes)
 

 PStringBlock = ^TStringBlock;
 TStringBlock = record
   sbIndex: Word;
   sbSize: Word;
   sbNext: PStringBlock;
   sbData: record end
 End;

TStringBlock-Strukturen werden verwendet, um String-Blcke aus
Ressourcendateien im Speicher zu reprsentieren.

 Feld        Bedeutung
 
 sbIndex     StartIndex div 16
 sbSize      Gre der String-Daten
 sbNext      Zeiger auf die nchste Struktur
 sbData      String-Daten


 Ressourcen-Typkonstanten      (Unit WinRes)
 

 Konstante       Ressourcentyp       Laden mit
 
 rt_Cursor       Mauszeiger          LoadCursor
 rt_Bitmap       Bitmap              LoadBitmap
 rt_Icon         Symbol              LoadIcon
 rt_Menu         Men                LoadMenu
 rt_Dialog       Dialog              LoadDialog
 rt_String       Stringtabelle       LoadString
 rt_FontDir      Schriftverzeichnis  **
 rt_Font         Schriftart          **
 rt_Accelerator  Tastenkombination   LoadAccelerators
 rt_RCData       "Rohdaten"

 ** Schriftarten (Bitmap- und skalierbare Fonts)
    knnen Sie mittels der MyFonts-Unit laden
    und einsetzen.


 Unit WinRes: Dialogfenster auswerten
 

Die Unit WinRes verfgt ber flexible Mechanismen zur Auswertung von
Windows-Ressourcen, die Dialogfenster beschreiben.

Mit der Prozedur InitClasses wird die Klassenverwaltung der Unit WinRes
initialisiert. Dann knnen Sie mittels der RegisterClass-Prozedur die
in den Ressourcen auftretenden Fensterklassen (Dialog- und Kontrollelemente)
registrieren lassen, d.h. mit speziellen Erzeugungsfunktionen verknpfen.
Mittels DoneClasses wird die Klassenverwaltung beendet.

 Siehe auch:  Unit WinRes

 Urheberrechtserklrung und allgemeine
 Nutzungsbestimmungen
 

Die Gesamtheit der Dateien des Softwareproduktes wird im
folgenden als "Software" bezeichnet.

 Urheberrecht (Copyright)

 Die "Software" ist weder "Public Domain",
 noch ist sie "Freeware". Sie ist urheber-
 rechtlich geschtzt durch bundesdeutsches
 und internationales Recht.

 Copyright (C) 1993, 1994 Matthias Kppe,
 Erzbergerstrae 12, D-39104 Magdeburg.
 Alle Rechte vorbehalten.

Durch die Verwendung der "Software" erkennen Sie die allgemeinen
Nutzungsbestimmungen an. Diese finden Sie in der Datei SHARWARE.TXT.
Sollten Sie eine unvollstndige Kopie der "Software" haben, wenden Sie
sich an folgende Adresse:

 Matthias Kppe
 MKM GbR fr Softwareentwicklung
 Erzbergerstrae 12
 D-39104 Magdeburg

 Tel/Fax  +49 391 5430128
 CIS      [100331,174]
 email    100331.174@compuserve.com


.end-code
.end-topic
.endif
