Macros de conversão de cadeia de caracteres

Essas macros fornecem recursos de conversão de cadeia de caracteres.

Macros de conversão de cadeia de caracteres ATL e MFC

As macros de conversão de cadeia de caracteres discutidas neste documento são válidas para ATL e MFC. Para obter mais informações sobre conversão de cadeia de caracteres MFC, confira TN059: usar macros de conversão MFC MBCS/Unicode e Macros e globais MFC.

Macros de conversão de cadeia de caracteres DEVMODE e TEXTMETRIC

Essas macros criam uma cópia de uma estrutura DEVMODE ou TEXTMETRIC e convertem as cadeias de caracteres dentro da nova estrutura em um novo tipo de cadeia de caracteres. As macros alocam memória na pilha para a nova estrutura e retornam um ponteiro para a nova estrutura.

MACRONAME( address_of_structure )

Comentários

Por exemplo:

DEVMODEW* lpw = DEVMODEA2W(lpa);

e:

TEXTMETRICW* lptmw = TEXTMETRICA2W(lptma);

Nos nomes das macros, o tipo de cadeia de caracteres na estrutura de origem está à esquerda (por exemplo, A) e o tipo de cadeia de caracteres da estrutura de destino está à direita (por exemplo, W). A significa LPSTR, OLE significa LPOLESTR, T significa LPTSTR e W significa LPWSTR.

Assim, DEVMODEA2W copia uma estrutura DEVMODE com cadeias de caracteres LPSTR em uma estrutura DEVMODE com cadeias de caracteres LPWSTR. TEXTMETRICOLE2T copia uma estrutura TEXTMETRIC com cadeias de caracteres LPOLESTR em uma estrutura TEXTMETRIC com cadeias de caracteres LPTSTR e assim por diante.

As duas cadeias de caracteres convertidas na estrutura DEVMODE são o nome do dispositivo (dmDeviceName) e o nome do formulário (dmFormName). As macros de conversão de cadeia de caracteres DEVMODE também atualizam o tamanho da estrutura (dmSize).

As quatro cadeias de caracteres convertidas na estrutura TEXTMETRIC são o primeiro caractere (tmFirstChar), o último caractere (tmLastChar), o caractere padrão (tmDefaultChar) e o caractere de quebra (tmBreakChar).

O comportamento das macros de conversão de cadeia de caracteres DEVMODE e TEXTMETRIC depende da diretriz do compilador em vigor, quando houver. Se os tipos de origem e de destino forem o mesmo, a conversão não ocorre. As diretivas do compilador alteram T e OLE da seguinte maneira:

Diretriz do compilador em vigor T torna-se OLE torna-se
nenhum A W
_UNICODE W W
OLE2ANSI A A
_UNICODE e OLE2ANSI W A

A tabela a seguir lista as macros de conversão de cadeia de caracteres DEVMODE e TEXTMETRIC.

Macro DEVMODE Macro TEXTMETRIC
DEVMODEA2W TEXTMETRICA2W
DEVMODEOLE2T TEXTMETRICOLE2T
DEVMODET2OLE TEXTMETRICT2OLE
DEVMODEW2A TEXTMETRICW2A

Confira também

Macros