Essas macros criar uma cópia de um DEVMODE ou TEXTMETRIC estrutura e converter as seqüências de caracteres dentro da nova estrutura para uma nova seqüência de caracteres tipo. As macros de alocar memória na pilha para a nova estrutura e retornam um ponteiro para a nova estrutura.
A sintaxe é:
NOMEDAMACRO ( address_of_structure )
Por exemplo:
DEVMODEA2W (lpa)
e
TEXTMETRICA2W (lptma)
Em nomes de macro, o tipo de Cadeia de caracteres na estrutura de origem fica à esquerda (por exemplo, A) e o tipo de Cadeia de caracteres na estrutura de destino é à direita (por exemplo, W). A representa a LPSTR, OLE representa LPOLESTR, T representa o LPTSTRe w representa o LPWSTR.
Assim, cópias de DEVMODEA2W uma estrutura DEVMODE com LPSTR seqüências de caracteres em uma estrutura DEVMODE com seqüências de LPWSTR , cópias de TEXTMETRICOLE2T uma estrutura TEXTMETRIC com LPOLESTR seqüências de caracteres em um TEXTMETRIC estrutura com seqüências LPTSTR e assim por diante.
As duas seqüências 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 atualizar o tamanho da estrutura (dmSize).
As quatro seqüências convertidas na estrutura TEXTMETRIC são o primeiro caractere (tmFirstChar), o último caractere (tmLastChar), o caractere usar como padrão (tmDefaultChar) e o caractere de interrupção (tmBreakChar).
O comportamento de macros de conversão de Cadeia de caracteres DEVMODE e TEXTMETRIC depende a diretiva de compilador em efeito, se houver. Se os tipos de origem e de destino forem iguais, nenhuma conversão ocorre. Diretivas de compilador alterar t e OLE da seguinte forma:
| Diretiva de compilador em efeito | 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.
DEVMODE e TEXTMETRIC Cadeia de caracteres de conversão Macros
| DEVMODEA2W | TEXTMETRICA2W |
| DEVMODEOLE2T | TEXTMETRICOLE2T |
| DEVMODET2OLE | TEXTMETRICT2OLE |
| DEVMODEW2A | TEXTMETRICW2A |
Ver também