Freigeben über


Zeichenfolgenkonvertierungs-Makros

Diese Makros stellen Zeichenfolgenkonvertierungsfeatures bereit.

ATL- und MFC-Zeichenfolgenkonvertierungsmakros

Die hier besprochenen Zeichenfolgenkonvertierungsmakros sind sowohl für ATL als auch für MFC gültig. Weitere Informationen zur MFC-Zeichenfolgenkonvertierung finden Sie unter TN059: Verwenden von MFC MBCS/Unicode-Konvertierungsmakros und MFC-Makros und Globalen.

DEVMODE- und TEXTMETRIC-Zeichenfolgenkonvertierungsmakros

Diese Makros erstellen eine Kopie einer DEVMODE - oder TEXTMETRIC-Struktur und konvertieren die Zeichenfolgen innerhalb der neuen Struktur in einen neuen Zeichenfolgentyp. Die Makros weisen Speicher auf dem Stapel für die neue Struktur zu und geben einen Zeiger auf die neue Struktur zurück.

MACRONAME( address_of_structure )

Hinweise

Zum Beispiel:

DEVMODEW* lpw = DEVMODEA2W(lpa);

und:

TEXTMETRICW* lptmw = TEXTMETRICA2W(lptma);

In den Makronamen befindet sich der Zeichenfolgentyp in der Quellstruktur links (z . B. A), und der Zeichenfolgentyp in der Zielstruktur befindet sich rechts (z . B. W). Ein Steht für LPSTR, OLE steht für LPOLESTR, T steht für LPTSTR, und W steht für LPWSTR.

Daher kopiert DEVMODEA2W eine DEVMODE Struktur mit LPSTR-Zeichenfolgen in eine DEVMODE Struktur mit LPWSTR-Zeichenfolgen, TEXTMETRICOLE2T kopiert eine TEXTMETRIC Struktur mit LPOLESTR-Zeichenfolgen in eine TEXTMETRIC Struktur mit LPTSTR-Zeichenfolgen usw.

Die beiden in der DEVMODE Struktur konvertierten Zeichenfolgen sind der Gerätename (dmDeviceName) und der Formularname (dmFormName). Die DEVMODE Zeichenfolgenkonvertierungsmakros aktualisieren auch die Strukturgröße (dmSize).

Die vier in der TEXTMETRIC Struktur konvertierten Zeichenfolgen sind das erste Zeichen (tmFirstChar), das letzte Zeichen (tmLastChar), das Standardzeichen (tmDefaultChar) und das Umbruchzeichen (tmBreakChar).

Das Verhalten der DEVMODE Makros und TEXTMETRIC der Zeichenfolgenkonvertierung hängt ggf. von der Compilerdirektive ab. Wenn die Quell- und Zieltypen gleich sind, findet keine Konvertierung statt. Compilerdirektiven ändern T und OLE wie folgt:

Geltende Compiler-Anweisung T wird zu OLE wird zu
none A W
_UNICODE W W
OLE2ANSI A A
_UNICODE und OLE2ANSI W A

In der folgenden Tabelle sind die DEVMODE Makros und TEXTMETRIC Zeichenfolgenkonvertierungsmakros aufgeführt.

DEVMODE-Makro TEXTMETRIC-Makro
DEVMODEA2W TEXTMETRICA2W
DEVMODEOLE2T TEXTMETRICOLE2T
DEVMODET2OLE TEXTMETRICT2OLE
DEVMODEW2A TEXTMETRICW2A

Siehe auch

Makros