DEVMODE and TEXTMETRIC String Conversion Macros
Estas macros crean una copia de una estructura de DEVMODE o de TEXTMETRIC y convierten cadenas dentro de la nueva estructura en un nuevo tipo string. Las macros asignan memoria en la pila para la nueva estructura y devuelven un puntero a la nueva estructura.
MACRONAME(
address_of_structure
)
Comentarios
Por ejemplo:
DEVMODEW* lpw = DEVMODEA2W(lpa);
y:
TEXTMETRICW* lptmw = TEXTMETRICA2W(lptma);
En los nombres de macro, el tipo string en la estructura de origen está a la izquierda (por ejemplo, para) y el tipo string en la estructura de destino está a la derecha (por ejemplo, w). a representa LPSTR, OLE representa LPOLESTR, T representa LPTSTR, y w representa LPWSTR.
Así, DEVMODEA2W copia una estructura de DEVMODE con cadenas de LPSTR en una estructura de DEVMODE con cadenas de LPWSTR , TEXTMETRICOLE2T copia una estructura de TEXTMETRIC con cadenas de LPOLESTR en una estructura de TEXTMETRIC con cadenas de LPTSTR , etc.
Las dos cadenas convertidas en la estructura de DEVMODE son el nombre de dispositivo (dmDeviceName) y el nombre del formulario (dmFormName). Las macros de conversión de cadena de DEVMODE también actualiza el tamaño de la estructura (dmSize).
Las cuatro cadenas convertidas en la estructura de TEXTMETRIC son el primer carácter (tmFirstChar), el último carácter (tmLastChar), el carácter predeterminado (tmDefaultChar), y el carácter de interrupción (tmBreakChar).
El comportamiento de las macros de conversión de cadena de DEVMODE y de TEXTMETRIC depende de la directiva del compilador en efecto, si existe. Si el origen y de destino son iguales, ninguna conversión tiene lugar. Cambio T y OLE de las directivas de compilador como sigue:
Directiva del compilador en efecto |
T se convierte |
OLE se convierte |
---|---|---|
nada |
A |
W |
_UNICODE |
W |
W |
OLE2ANSI |
A |
A |
_UNICODE y OLE2ANSI |
W |
A |
La tabla siguiente muestra las macros de conversión de cadena de DEVMODE y de TEXTMETRIC .
Macros de conversión de cadena de DEVMODE y de TEXTMETRIC
DEVMODEA2W |
TEXTMETRICA2W |
DEVMODEOLE2T |
TEXTMETRICOLE2T |
DEVMODET2OLE |
TEXTMETRICT2OLE |
DEVMODEW2A |
TEXTMETRICW2A |
Vea también
Conceptos
ATL and MFC String Conversion Macros