Macros de conversión de cadena

Estas macros proporcionan características de conversión de cadenas.

Macros de conversión de cadenas de ATL y MFC

Las macros de conversión de cadena en las que se centra este tema son válidas tanto para ATL como para MFC. Para más información sobre la conversión de cadenas de MFC, consulte TN059: Usar macros de conversión MBCS/Unicode de MFC y Globales y macros de MFC.

Macros de conversión de cadenas DEVMODE y TEXTMETRIC

Estas macros crean una copia de una estructura DEVMODE o TEXTMETRIC y convierten las cadenas dentro de la nueva estructura en un nuevo tipo de cadena. Las macros asignan memoria en la pila para la nueva estructura y le devuelven un puntero.

MACRONAME( address_of_structure )

Comentarios

Por ejemplo:

DEVMODEW* lpw = DEVMODEA2W(lpa);

y:

TEXTMETRICW* lptmw = TEXTMETRICA2W(lptma);

En los nombres de macro, el tipo de cadena de origen aparece a la izquierda (por ejemplo, A) y el tipo de cadena de destino, a la derecha (por ejemplo, W). A significa LPSTR, OLE significa LPOLESTR, T significa LPTSTR, y W significa LPWSTR.

Por lo tanto, DEVMODEA2W copia una estructura DEVMODE con cadenas LPSTR en una estructura DEVMODE con cadenas LPWSTR, TEXTMETRICOLE2T copia una estructura TEXTMETRIC con cadenas LPOLESTR en una estructura TEXTMETRIC con cadenas LPTSTR, etc.

Las dos cadenas convertidas en la estructura DEVMODE son el nombre del dispositivo (dmDeviceName) y el nombre del formulario (dmFormName). Las macros de conversión de cadenas DEVMODE también actualizan el tamaño de la estructura (dmSize).

Las cuatro cadenas convertidas en la estructura TEXTMETRIC son el primer carácter (tmFirstChar), el último carácter (tmLastChar), el carácter predeterminado (tmDefaultChar) y el carácter de salto (tmBreakChar).

El comportamiento de las macros de conversión de cadena DEVMODE y TEXTMETRIC depende de la directiva de compilador que haya en vigor (si la hay). Si los tipos de origen y de destino son el mismo, no tiene lugar ninguna conversión. Las directivas de compilador cambian T y OLE del siguiente modo:

Directiva de compilador vigente T pasa a OLE pasa a
None A W
_UNICODE W W
OLE2ANSI A A
_UNICODE y OLE2ANSI W A

En la tabla siguiente se enumeran las macros de conversión de cadenas DEVMODE y TEXTMETRIC.

DEVMODEMacro TEXTMETRICMacro
DEVMODEA2W TEXTMETRICA2W
DEVMODEOLE2T TEXTMETRICOLE2T
DEVMODET2OLE TEXTMETRICT2OLE
DEVMODEW2A TEXTMETRICW2A

Consulte también

Macros