In diesem Dokument werden folgende Klassen beschrieben:
Name | Kurzbeschreibung | |
TNVCanvas | wichtig | Non-Vcl-Entsprechung zu TCanvas (Zeichenfunktionen) |
TNVPen | wichtig | Non-Vcl-Entsprechung zu TPen (Eigenschaften vom aktuellen Stift) |
TNVBrush | wichtig | Non-Vcl-Entsprechung zu TBrush (Eigenschaften vom aktuellen Brush) |
TNVFont | wichtig | Non-Vcl-Entsprechung zu TFont (Eigenschaften vom aktuellen Font) |
TNVGraphicObject | unwichtig | Klasse die Ereignisse für Änderungen zur Verfügung stellt. |
TNVRessourceManager | intern | Ressourcen Manager, der über Hashing Windows Handles verwaltet. |
TNVHashClass | intern | Klasse zum Hashen. (Basisklasse von TNVResMan) |
Diese Klasse entspricht im wesentlichen der Klasse TCanvas von
Delphi, ist allerdings etwas schneller und besitzt mehr
Funktionen. Allerdings dürfte TCanvas stabiler sein, da es
intensiver getestet wurde.
Da TNVCanvas im wesentlichen ein Wrapper für GDI (Graphics
Device Interface, hat nichts mit der GDI aus C&C zu tun :-),
ist diese Text teilweise eine Übersetztung aus dem PSDK.
Mit Arc wird mit dem aktuellen Stift ein Kreisbogen
gezeichnet, der auf der Peripherie der durch (X1,Y1) (X2,Y2)
definierten Ellipse liegt.
Die Zeichnung verläuft gegen den Uhrzeigersinn und folgt vom
Anfangs- bis zum Endpunkt der Peripherie der Ellipse. Der
Anfangspunkt wird durch den Schnittpunkt der Ellipse mit einer
Linie definiert, die durch den Mittelpunkt der Ellipse und durch
den Punkt (X3,Y3) führt. Der Endpunkt wird durch den
Schnittpunkt der Ellipse mit einer Linie definiert, die durch den
Mittelpunkt der Ellipse und durch den Punkt (X4,Y4) führt. ArcTo
verhält sich genauso, setzt aber zusätzlich die Stiftposition
Unter W95 dürfen die Summen X1 + X2, Y1 + Y2 und X1 + X2 + Y1 +
Y2 nicht größer als 32768 sein.
Mit Chord können Sie einen Umriß erzeugen, der von einem
Bogen und einer Linie gebildet wird, die die Endpunkte des Bogens
miteinander verbindet. Der Umriß besteht aus dem Teil einer
Ellipse, die durch die Koordinaten (X1,Y1) und (X2,Y2) definiert
ist. Die Ellipse wird durch eine Line geteilt, die durch die
Punkte (X3,Y3) und (X4,Y4) verläuft.
Die Peripherie des Umrisses verläuft gegen den Uhrzeigersinn vom
Punkt (X3,Y3) entlang der Ellipse nach (X4,Y4) und als gerade
Linie zurück zu (X3,Y3). Wenn die Punkte (X3,Y3) und (X4,Y4)
nicht auf der Oberfläche der Ellipse liegen, ergeben sich die
Ecken des Umrisses aus den nächstliegenden Schnittpunkten der
Peripherie und der Linie. Der Umriß wird mit dem aktuellen Stift
gezeichnet und mit dem aktuellen Pinsel gefüllt.
Unter W95 dürfen die Summen X1 + X2, Y1 + Y2 und X1 + X2 + Y1 + Y2 nicht größer als 32768 sein.
Zeichnet einen Kreis um den Punkt (X,Y) mit dem Radius Radius.
Kopiert ein Rechteck aus dem angegebenen Rechteck source in
der DC sourcedc, in das mit dest angegeben Recteck Die
Eigenschaften right, bottom der Rechtecke geben die Höhe bzw.
Breite an.
Mode kann folgende Wert annehmen:
Name in windows.pas | Beschreibung |
BLACKNESS | Füllt das Zielrechteck mit der Farbe, die in der physikalischen Palette den Index 0 hat. (Normalerweise ist dies schwarz) |
CAPTUREBLT | Windows 98/Me, Windows 2000 oder höher: Bezieht jedes Fenster über dem angegebenen mit ein, normalerweise wird nur das angegeben berücksichtigt. |
DSTINVERT | Invertiert das Zielrechteck |
MERGECOPY | Mischt die Farben im source Rechteck unter Verwendung von dem AND Operator mit der aktuellen Hintergrundfarbe vom Ziel |
MERGEPAINT | Mischt die invertierten Farben im source Rechteck unter Verwendung von dem OR Operator mit den Farben im dest Rechteck |
NOMIRRORBITMAP | Windows 98/Me, Windows 2000 oder höher: Verhindert das spiegeln |
NOTSRCCOPY | Kopiert das invertierte Quellrechteck ins Ziel |
NOTSRCERASE | Mischt die Farben vom Quell- und Zielrechteck unter Verwendung von NOR |
PATCOPY | Füllt das Zielrechteck mit der Hintergrundfarbe |
PATINVERT | Mischt die Farben vom Zielrechteck unter Verwendung von XOR mit der Hintergrundfarbe vom Ziel |
PATPAINT | Kombiniert die Hintergrundfarbe im Ziel unter Verwendung des OR-Operators mit den invertierten Farben im Source-Rechteck. Anschließend werden die Ergebnis Farben unter verwendung von OR mit den Farben im Zielrechteck verknüpft |
SRCAND | Die Farben
im Quell- und Zielrechteck werden unter Verwendung von
AND verknüpft. Hiermit und SRCINVERT (sehe da<-) kann Transparents erzeugt werden. |
SRCCOPY | Das Quellrechteck wird in das Zielrechteck kopiert. |
SRCERASE | Die Farben im Quellrechteck werden mit den invertiertem Farbe im Zielrechteck unter Verwendung von AND verknüpft. |
SRCINVERT | Die Farben
im Quell- und Zielrechteck werden unter Verwendung von
XOR verknüpft. Hiermit und SRCAND kann Transparents erzeugt werden, indem zuerst mit AND eine Maske auf das Ziel kopiert wird, indem alle Pixel, die Überschrieben werden sollen schwarz sind, und alle die unverändert bleiben sollen weiß. Dadurch werden alle zu überschreibenden schwarz. Mit SRCINVERT kann danach dass Bild drauf kopiert werden, bei dem alle zu erhaltenden Pixel schwarz sein müssen. Da eine XOR-Verknüpfung bei schwarzen Zielpixel, die Quellpixel übernimmt, bzw. umgekehrt, wird das neue Bild in die von der Maske geschwärzten Bereiche kopiert, und das alte durch die im neuen Bild geschwärzten Brereiche erhalten. |
SRCPAINT | Die Farben im Quell- und Zielrechteck werden unter Verwendung von OR verknüpft |
WHITENESS | Füllt das Zielrechteck mit der Farbe, die in der physikalischen Palette den Index 1 hat. (Normalerweise ist dies weiß) |
Diese Methode zeichnet ein gestricheltes Recteck, das angibt,
dass sich dort aktuell der Focus befindet. Da diese Methode mit
dem XOR Operator arbeitet, löscht ein zweiter Aufruf das
Rechteck. Mit einem so gezeichneten Rechteck kann kein Bildlauf
duchgeführt werden (was auch immer das bedeutet mag, wenn du es
weist, kannst du es mir ja schreiben).
Unter Whistler können die Rahmen auch mehrere Pixel breit/hoch
sein, dies kann über SystemParametersInfo (und den Parameter
SPI_SETFOCUSBORDERWIDTH, SPI_SETFOCUSBORDERHEIGHT,
SPI_GETFOCUSBORDERWIDTH und SPI_GETFOCUSBORDERHEIGHT) festgelegt,
oder festgestellt werden.
Zeichnet einen Text in dass mit lpRect angegebene Rechteck.
Der aktuelle Font kann über die Eigenschaft Font festgelegt
werden.
Um unnötige Speicherkopierungen zu vermeiden und den Aufruf zu
vereinfachen, wurde lpRect als const deklariert, korrekt wäre
aber var, dann wären aber keine Funktionsrückgaben übergebbar,
zur Sicherheit, sollte der Parameter immer in einer Variable
liegen, tut er es aber nicht, passiert gewöhnlich, mit einer
Ausnahme, trotztdem nichts. Bei uFormat können folgende
Parameter OR verknüpft werden:
Wert | Beschreibung |
---|---|
DT_BOTTOM | Richtet den Text an der Unterseite des Rechteckes aus. (Funktioniert nur, wenn DT_SINGLELINE gesetzt ist) |
DT_CALCRECT | Berechnet
die Höhe und Breite des ideal Rechteckes.Wenn mehrere
Zeilen übergeben wurden, wird die Breite des Rechteckes
benutzt, um den Text umzubrechen. Wurde nur eine
übergeben, wird die Breite so gesetzt, dass das letzte
Zeichen reinpasst. In beiden Fällen wird die Höhe
gesetzt und der Text nicht ausgegeben. Dieser Parameter ist die vorhin erwähnte Ausnahme, da das Rechteck verändert wird, dass heißt, dass in diesem Fall eine Variable übergeben werden muss, oder das Programm stürzt ab. |
DT_CENTER | Zentriert den Text im Rechteck |
DT_EDITCONTROL | Die Grafikausgabe verhält sich wie ein Memofeld. Das bedeutet, die durchschnittliche Breite wird wie dort berechnet, und eine teilweise sichtbare Line nicht angezeigt. |
DT_END_ELLIPSIS | Wenn der
das Ende des angezeigten Textes nicht in das Rechteck
passt, wird er elliptisch abgetrennt. Ist das Wort nicht
am Ende, wird es aber nicht elliptisch abgebrochen. Wenn das DT_MODIFYSTRING Flag nicht gesetzt ist, wird der String nicht verändert. Siehe auch DT_PATH_ELLIPSIS und DT_WORD_ELLIPSIS. |
DT_EXPANDTABS | Vergrößert Tab Zeichen. Standardmäßig werden 8 Zeichen eingesetzt. Dieses Flag schließt DT_WORD_ELLIPSIS, DT_PATH_ELLIPSIS, und DT_END_ELLIPSIS aus. |
DT_EXTERNALLEADING | Vergrößert die Zeilenhöhe so, dass aus Zeilen raus reichenden Buchstabenecken (wie der Bogen bei "g") mit einberechnet werden. Dies ist normalerweise nicht der Fall. |
DT_HIDEPREFIX | Windows
2000 oder höher: Ignoriert das Ampersand (Zeichen
&) Prefix Zeichen im Text. Der folgende Buchstabe
wird nicht unterstrichen, aber andere Prefixzeichen
werden noch verarbeitet:Eingabe: "A&bc&&d" Normal: "Abc&d" DT_HIDEPREFIX: "Abc&d" Siehe auch DT_NOPREFIX und DT_PREFIXONLY. |
DT_INTERNAL | Benutzt den Standardfont um die Textgröße zu berechnen |
DT_LEFT | Richtet den Text nach links aus. |
DT_MODIFYSTRING | Verändert den Text, um ihn ihn dem angezeigten anzuzeigen. Wenn nicht DT_END_ELLIPSIS oder DT_PATH_ELLIPSIS gesetzt ist, wird dieses Flag ignoriert. |
DT_NOCLIP | Zeichnet ohne den Text abzuschneiden. DrawText ist dann ein bisschen schneller. |
DT_NOFULLWIDTHCHARBREAK | Windows 98/Me, Windows 2000 or later: Verhindert einen Zeilenumbruch an einem DBCS (double-wide character string), so dass die Zeilenumbruchsregel wie bei SBCS Strings ist. Dies kann zum Beispiel in koreanischen Fenstern benutzt werden um die Iconlabels besser lesen zu können. Wenn DT_WORDBREAK nicht gesetzt wird, wird es ignotiert |
DT_NOPREFIX | Schaltet
die Verarbeitung von Prefix zeichen aus. Normallerweise, DrawText
interpretiert das Symbolzeichen & als Befehl das
nächste Zeichen zu unterstreichen, und das Zeichen
&& als Befehl ein & anzuzeigen. DT_NOPREFIX
schaltet dies ab:Eingabe: "A&bc&&d" Normal: "Abc&d" DT_NOPREFIX: "A&bc&&d" Siehe auch DT_HIDEPREFIX und DT_PREFIXONLY. |
DT_PATH_ELLIPSIS | Schneidet
den dargestellten Text in der Mitte ellipsenförmig ab,
so dass er in das Rechteck passt. Enthält der String
Backslashs (\), DT_PATH_ELLIPSIS versucht soviel wie
möglich vom Text hinter dem letzten Backslash zu
erhalten. Wenn DT_MODIFYSTRING nicht gesetzt ist, wird der Text nicht verändert Siehe auch DT_END_ELLIPSIS und DT_WORD_ELLIPSIS. |
DT_PREFIXONLY | Windows
2000 oder höher: Zeichnet nur einen Unterstrich an
der Position, wo ein Zeichen von einem & gefolgt wird
und nichts anderes: Eingabe: "A&bc&&d" Normal: "Abc&d" DT_PREFIXONLY: " _ " Siehe auch DT_HIDEPREFIX und DT_NOPREFIX. |
DT_RIGHT | Richtet den Text rechtsbündig aus |
DT_RTLREADING | Setzt den Text in Leserichtung von rechts nach links, wenn der aktuelle Font Hebräisch oder Arabisch ist. Der Standardmodus ist links nach rechts. |
DT_SINGLELINE | Zeichnet den Text als eine einzige Linie, Zeilen umbrüche werden nicht berechnet. |
DT_TABSTOP | Setzt die Tabstops. Die Bits 15 bis 8 (höchstes Byte des niedrigsten Words) von uFormat bestimmt die Anzahl Leerzeichen pro Tabstop. Der Standardwert ist 8. Die Flags DT_CALCRECT, DT_EXTERNALLEADING, DT_INTERNAL, DT_NOCLIP, und DT_NOPREFIX können mit diesem nicht genutzt werden. |
DT_TOP | Richtet den Text an der Oberkante des Rechteckes aus. |
DT_VCENTER | Zentriert den Text vertikal. Das geht nur wenn DT_SINGLELINE gesetzt ist. |
DT_WORDBREAK | Bricht Worte um. Die Zeilen werden automatisch umgebrochen, wenn ein Wort außerhalb des Rechteckes kommen würde. |
DT_WORD_ELLIPSIS | Schneidet
die Worte, die nicht in das Rechteck passen
ellipsenförmig um. Siehe auch DT_END_ELLIPSIS und DT_PATH_ELLIPSIS. |
Wie DrawText, nimmt aber zusätzlich noch einen Parameter vom Typ TDrawTextParams an. Dieser Record enthält folgende Felder:
Name | Beschreibung |
cbSize | Länge der Struktur, wird automatisch gesetzt |
iTabLength | Länge eine Tabstopes |
iLeftMargin | Linker Seitenrand in durschnittlichenZeichenbreiten |
iRightMargin | Rechter Seitenrand in durschnittlichenZeichenbreiten |
uiLengthDrawn | Gibt die Länge des angezeigten Textes zurück. (entweder die Tetxlänge, oder den Index der letzten rausgefallenen Textzeile, laut PSDK) |
Zeichnet eine Ellipse in ein Rechteck, das am Punkt (X1, Y1)
beginnt und bis zum Punkt (X2, Y2) geht.
Unter W95 dürfen die Summen X1 + X2, Y1 + Y2 und X1 + X2 + Y1 +
Y2 nicht größer als 32768 sein.procedure PolyBezier(const
Points: array of TPoint);procedure FillRect(const Rect: TRect);
Füllt das angebene Rechteck.
Füllt den Bereich um den Punkt (X,Y) mit der aktuellen Hintergrundfarbe(wird über brush gesetzt). Wie der Bereich definiert ist, wird vonn FillTyp festgelegt.
Value | Meaning |
---|---|
FLOODFILLBORDER | Der zu füllende Bereich ist umgegrenzt, mit der in Color angegeben Farbe. |
FLOODFILLSURFACE | Der zu füllende Bereich ist der gesamte Bereich, der die Farbe Color hat. |
Zeichnet einen Rahmen, dessen Aussehen vom aktuellen Stift festgelegt wird, um das in rect angebene Rechteck.
Verschiebt den Zeichenstift, an den Punkt (X,Y)
Verschiebt den Zeichenstift, an den Punkt (X,Y), und zeichnet dabei eine Linie
Diese Methode zeichnet einen Torten ähnlichen Umriß. Der
Umriß wird aus der, in dem durch die Punkte (X1, Y1) und (X2,
Y2) definiertem Recteck, befindlichen Ellipse ausgeschnitten.
Begrenzt wird es durch zwei Linien, die durch den Mittelpunkt und
die Punkte (X3, Y3) und (X4, Y4) gehen.
Unter W95 dürfen die Summen X1 + X2, Y1 + Y2 und X1 + X2 + Y1 +
Y2 nicht größer als 32768 sein.
Zeichnet mit dem aktuellen Stift kubische Bezierkurven, deren Punkte mit dem Array Points festgelegt werden. Die erste Kurve wird vom ersten Punkt zum vierten gezeichnet, wobei die Punkte 2 und 3 Steuerpunkte darstellen. Für die nächsten Kurven sind dann immer drei Punkte zuständig, zwei Steuerpunkte und ein Endpunkt, wobei als Startpunkt der Endpunkt der vorherigen Kurve genommen wird.
Zeichnet mehrere Liniensegmente und Bezierkurven.
Mit dem Points-Array werden die jeweiligen Punkt festgelegt, die
Art der Punkte wird über Types festgelegt. Für jedem Punkt muss
es einen Eintrag im Types-Array mit dem selben Index geben. Ein
Types-Eintrag kann dabei eine der folgenden Konstanten enthalten:
Type | Meaning |
---|---|
PT_MOVETO | Verschiebt den Zeichenstift zum jeweiligen Punkt |
PT_LINETO | Zeichnet eine Line von der aktuellen Zeichenstiftposition zum jeweiligen Punkt, und verschiebt die Position. |
PT_BEZIERTO | Gibt an,
dass der Punkt zu einer Bezierkurve gehört. PT_BEZIERTO Typen treten immer in dreier Gruppen auf. Die aktuelle Zeichenposition gibt den Startpunkt an, die ersten beiden PT_BEZIERTO Punkte legen die Steuerpunkte fest und der dritte Punkt gibt den Endpunkt an. |
Zu PT_LINETO oder PT_BEZIERTO kann der Parameter PT_CLOSEFIGURE angegeben werden, der bewirkt, das die Figur automatisch geschlossen wird.
Zeichnet ein Polygon, das von den im Array Points angegebenen Punkten umschlossen wird. Die Randlinien werden mit dem aktuellen Stift gezeichnet, und die Innenfläche mit dem aktuellen Hintergrund gefüllt.
Zeichnet ein Polygon, das von den im Array Points angegebenen Punkten umschlossen wird, ohne es zu füllen. Die Randlinien werden mit dem aktuellen Stift gezeichnet.
Zeichnet und füllt ein Rechteck, dessen obere linke Ecke der Punkt (x1,y1) ist und die untere rechte Ecke der Punkt (x2,y2) ist.
Zeichnet und füllt ein rundes Rechteck, dessen obere linke Ecke der Punkt (x1,y1) ist und die untere rechte Ecke der Punkt (x2,y2) ist. Die Parameter X3 und Y3 geben die Größe der Ellipse an, mit der die Ecken des Rechteckes gerundet werden.
Liefert die Höhe und Breite des angebenen Strings zurück.
Zeichnet an den Punkt (X,Y) den angebenen Text. Die Textfarbe ist die aktuelle Stiftfarbe.
Zeichnet an den Punkt (X,Y) den angebenen Text, begrenzt aber die Ausgabe aufs angebenen Rechteck. Die Textfarbe ist die aktuelle Stiftfarbe.
Liefert die Höhe des angebenen Strings zurück.
Liefert die Breite des angebenen Strings zurück.
Gibt den Device Context an, mit dem der Canvas momentan verknüpft ist.
Gibt die Position des Zeichenstiftes an. Ein setzten hat die gleiche Wirkung wie ein Aufruf von MoveTo.
Gibt an, ob bei Textausgabe, der Hintergrund überschrieben werden soll.
Gibt den Hintergrundpinsel an.
Gibt den aktuellen Stift an und, anders als bei GDI, auch die Textfarbe.
Legt den aktuellen Font fest.
Eine Klasse die das Aussehen des aktuellen Zeichenstiftes steuert.
Übernimmt sämtliche Eigenschaften des übergebenden Stiftes. Dabei wird auch das Handle des Stiftes übernommen, und der Referenzcounter im Ressourcenmanager für das Handle um eins erhöht.
Gibt das Aussehen des Stiftes an. Der Wert kann einer der folgenden Konstanten sein:
Value | Meaning |
---|---|
PS_SOLID | Der Stift ist durchgehend. |
PS_DASH | Der Stift ist gestrichelt. Funktioniert leider nur, wenn die Breite 1 ist. |
PS_DOT | Der Stift ist gepunktet. Funktioniert ebenfalls nur, wenn die Breite 1 ist. |
PS_DASHDOT | Der Stift ist abwechselnd gepunktet und gestrichelt. Funktioniert nur, wenn die Breite 1 ist. |
PS_DASHDOTDOT | Der Stift hat abwechselnd einen Strich und zwei Punkte. Funktioniert nur, wenn die Breite 1 ist. |
PS_NULL | Der Stift ist unsichtbar. |
PS_INSIDEFRAME | Der Stift ist durchgehend. Wenn diese Stift mit einer Funktion verwendet wird, die Umgebungsrechtecke unterstützt, wird dies Figur geschrumpft, so dass sie in das Rechteck passt. |
Gibt die Breite des Stiftes an.
Gibt die Farbe des Stiftes an.
Liefert ein Handle auf einen Windows Pen (eng. Stift) zurück. Bei jeder Änderung einer Eigenschaft wird dieses Handle neuerzeugt.
Eine Klasse die das Aussehen des aktuellen "Füllpinsels" steuert.
Übernimmt sämtliche Eigenschaften des übergebenden Pinsels. Dabei wird auch das Handle des Stiftes übernommen, und der Referenzcounter im Ressourcenmanager für das Handle um eins erhöht.
Gibt das Aussehen des Pinsels an, kann eine der Konstanten sein:
Value | Meaning |
---|---|
BS_DIBPATTERN | Der Pinsel
füllt mit einem DIB (Gerät unabhängiges Bitmap), ein
Handle zum Bild wird in der Hatch-Eigenschaft
angegeben. Windows 95: Wenn das Bild größer als 8 x 8 ist, wird es abgeschnitten. |
BS_DIBPATTERN8X8 | Wie BS_DIBPATTERN |
BS_DIBPATTERNPT | Der Pinsel füllt mit einem DIB (Gerät unabhängiges Bitmap), ein Pointer zum Bild wird in der Hatch-Eigenschaft angegeben. |
BS_HATCHED | Gemusterter Pinsel |
BS_HOLLOW | Unsichtbarer Pinsel |
BS_NULL | Wie BS_HOLLOW. |
BS_PATTERN | Der Pinsel füllt mit einem Memory Bitmap. |
BS_PATTERN8X8 | Wie BS_PATTERN. |
BS_SOLID | Durchgehender Pinsel |
Wenn Style den Wert BS_SOLID, oder BS_HATCHED hat, gibt diese Eigenschaft die Farbe des Pinsels an.
Wenn Style den Wert BS_DIBPATTERN oder BS_DIBPATTERNNPT hat, muss Color eine der beiden Konstanten sein:
Value | Meaning |
---|---|
DIB_PAL_COLORS | Die Farbtabelle enthält ein Array von 16 Bit Indexen zur aktuellen logischen Palette. |
DIB_RGB_COLORS | Die Farbtabelle enthält echte RGB Werte. |
Spezifiziert das Muster. Je nach Wert der Style-Eigenschaft, hat dieser Wert eine andere Bedeutung:
Wenn Style BS_DIBPATTERN ist, enthält Hatch ein Handle auf ein gepacktes DIB. (wird durch GlobalAlloc erzeugt)
Wenn Style BS_DIBPATTERNPT ist, enthält Hatch einen Pointer auf ein gepacktes DIB (wird durch LocalAlloc erzeugt)
Wenn Style BS_PATTER ist, enthält Hatch ein Handle auf ein Bitmap
Wenn Style BS_HATCHED ist, kann Hatch eine der folgenden Konstanten sein:
Value | Meaning |
---|---|
HS_BDIAGONAL | Um 45° nach oben geboge Linien. |
HS_CROSS | Sich überschneidende Horizontale und vertikale Linien |
HS_DIAGCROSS | Sich überschneidende, um 45° gedrehte Linien |
HS_FDIAGONAL | Um 45° nach unten geboge Linien. |
HS_HORIZONTAL | Horizontale Linien |
HS_VERTICAL | Vertikale Linien |
Handle zu einem Windows Brush.
Übernimmt sämtliche Eigenschaften des übergebenden Fontes. Dabei wird auch das Handle des Stiftes übernommen, und der Referenzcounter im Ressourcenmanager für das Handle um eins erhöht.
Gibt die Höhe der Buchstaben im zu erstellendem Fonts in
logischen Einheiten an.
Wenn der Wert >0 ist, wird der Wert an die Zellenhöhe der
verfügbaren Fonts angepasst.
Wenn er 0 ist, wird die Standardhöhe benutzt.
Wenn er <0 ist, wird der Wert an die Buchstabenhöhe
angepasst.
Bestimmt die Buchstabenbreite.
Wenn der Wert 0 ist, wird die Standardbreite genommen.
Legt den Drehwinkel in Grad fest.
Legt den Fettgrad im Bereich von 0 bis 1000 fest. Z. B.: 400 ist normal und 700 ist fett.
In diesem Set können folgende Werte verwendet werden:
Name | Beschreibung |
nvfsItalic | Kursiv |
nvfsStrikeOut | |
nvfsUnderline | Unterstrichen |
Legt die Zeichengruppe fest. Es gibt folgende Werte:
ANSI_CHARSET
BALTIC_CHARSET
CHINESEBIG5_CHARSET
DEFAULT_CHARSET
EASTEUROPE_CHARSET
GB2312_CHARSET
GREEK_CHARSET
HANGUL_CHARSET
MAC_CHARSET
OEM_CHARSET
RUSSIAN_CHARSET
SHIFTJIS_CHARSET
SYMBOL_CHARSET
TURKISH_CHARSET
Legt die Ausgabegenauigkeit fest:
Wert | Beschreibung |
---|---|
OUT_CHARACTER_PRECIS | Nicht benutzt |
OUT_DEFAULT_PRECIS | Es soll die Standardgenauigkeit benutzt werden. |
OUT_DEVICE_PRECIS | Der Font Mapper soll einen Device Font nehmen, wenn es mehrere Fonts mit dem selben Namen gibt, |
OUT_OUTLINE_PRECIS | Windows NT/2000 oder höher: Der Font Mapper soll True Type oder andere Kontur Fonts nehmen |
OUT_RASTER_PRECIS | Der Font Mapper soll einen Raster (Pixel) Font nehmen, wenn mehrere Fonts mit dem selben Namen vorhanden sind. |
OUT_STRING_PRECIS | Dieser Wert wird nicht für den Font Mapper verwendet, sondern wird zurückgegeben, wenn Raster Fonts enumeriert wurden. |
OUT_STROKE_PRECIS | Windows NT/2000 oder
höher: Dieser Wert wird nicht vom Font Mapper
verwendet, sondern zurückgegeben, wenn True Type,
Konturfonts, oder Vektorfonts enumeriert wurden. Windows 95/98/Me: Der Wert wird bei Kartenvektorfonts benutzt, und wird zurückgegeben, wenn True Type, oder Vektorfonts enumeriert wurden. |
OUT_TT_ONLY_PRECIS | Der Fontmapper soll nur True Type Fonts nehmen, und wenn es keinen mit dem angegebenen Namen gibt, soll er den Standardfont nehmen. |
OUT_TT_PRECIS | Der Font Mapper soll True Type Fonts nehmen, wenn es mehrere mit dem selben Namen gibt. |
Bestimmt die Clipgenauigkeit:
Name | Beschreibung |
---|---|
CLIP_DEFAULT_PRECIS | Es soll die Standardgenauigkeit genommen werden |
CLIP_CHARACTER_PRECIS | Unbenutzt |
CLIP_STROKE_PRECIS | Nicht vom Font Mapper
benutzt, sondern wird zurückgegeben wenn Rasterfonts,
True Type Fonts, oder Vektorfonts enumeriert wurden. Windows NT/2000 oder höher: Aus Kompatibilitätsgründen, wird es immer zurückgegeben |
CLIP_MASK | Unbenutzt |
CLIP_EMBEDDED | Dieses Flag muss bei eingebetten Nur-Lese Fonts gesetzt sein |
CLIP_LH_ANGLES | Gibt an, ob die Rotation von
der Systemrotationsrichtung abhängt. Wenn es nicht gesetzt ist, werden Device Fonbts immer gegen den Urzeiger gedreht, aber die Rotation anderer Fonts hängt vomn System ab. |
CLIP_TT_ALWAYS | Unbenutzt |
Legt die Ausgabequalität fest:
Wert | Beschreibung |
---|---|
ANTIALIASED_QUALITY | Windows NT 4.0 und
höher: Der Font wird antialiased, oder geglättet,
dargestellt, wenn der Font es unterstützt, und es nicht
zu klein oder groß ist. Windows 95 with Plus! und höher: Wie bei NT, aber der Bildschirm muss mehr als eine 8-Bit Farbtiefe haben, es muss ein flaches Devices sein und darf nicht zu mehreren Bildschirmen gehören. |
CLEARTYPE_QUALITY | Whistler: Wenn es möglich ist, wird der Text mit Cleartype gerendert |
DEFAULT_QUALITY | Das Aussehen ist unwichtig |
DRAFT_QUALITY | Das Aussehen ist nicht so wichtig wie bei PROOF_QUALITY. GDI Raster Fonts werden skaliert (dadurch stehen mehr Größen zur Verfügung, aber die Qualität sinkt). Fette, kursive, unterstrichene oder durchgestrichene Fonts werden simuliert, wenn es nötig ist. |
NONANTIALIASED_QUALITY | Windows 95 mit Plus!, Windows 98, Windows NT 4.0, und Windows 2000 oder höher: Der Font wird niemals geglättet. |
PROOF_QUALITY | Die Qualität ist wichtiger, als die genaue Umsetztung. GDI Raster Fonts werden nicht skaliert (dadurch stehen weniger Größen zur Verfügung, aber die Qualität steigt). Fette, kursive, unterstrichene oder durchgestrichene Fonts werden simuliert, wenn es nötig ist. |
Die beiden niedrigen Bits legen die Zeichenhöhe fest und können eines der Konstanten sein:
Die vier höchstwertigesten Bits legen die Familie fest:
Wert | Beschreibung |
---|---|
FF_DECORATIVE | Seltsame Fonts. Z. B.: Altes Englisch (vielleicht auch altes Deutsch) |
FF_DONTCARE | Familie egal |
FF_MODERN | Fonts mit fester Zeichenbreite, mit oder ohne Serifen, z.B.: Pica, Elite, und Courier New |
FF_ROMAN | Fonts mit unterschiedlicher Zeichenbreite und mit Serifen, z.B.: MS Serif |
FF_SCRIPT | Fonts die aussehen wie Handschrift, z.B.: Script und Cursive |
FF_SWISS | Fonts mit unterschiedlicher Zeichenbreite und ohne Serifen, z.B.: MS Sans Serif |
Name des Fonts
Farbe des Fontes
Window Handle des Fontes
Klasse die zwei Ereignisse OnChange und OnChanging zur Verfügung stellt. Sie wird von TNVCanvas benutzt, und ist die Basisklasse für TNVPen, TNVBrush und TNVFont.
Ein Ressourcenmanager, der Windows Handles verwaltet.
Wird aufgerufen, wenn eine Ressource freigeben werden soll.
Verringert den internen Referenz Zähler für das Handle, und ruft OnDelete auf, wenn keine Kopien mehr vorhanden sind
Erhöht den internen Referenz Zähler
Dient zum Hashen von 32-Bit Werten für 32-Bit Ids, und stellt somit in etwa eine immer sortierte Liste da.
Wird aufgerufen, um einen Hashwert zu generieren.
Liefert die Daten für eine bestimmte ID.
Löscht einen Hashwert für eine bestimmte ID.
Fügt einen bestimmten Wert für eine ID ein.
Für weiter Fragen/Verbesserungsvorschläge kannst du mir ein Email-Schicken BeniBela@aol.com.