Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Estas macros fornecem funcionalidades de conversão de cadeias.
Macros de Conversão de Strings ATL e MFC
As macros de conversão de cordas aqui discutidas são válidas tanto para ATL como para MFC. Para mais informações sobre conversão de cadeias MFC, consulte TN059: Utilização de Macros de Conversão MFC MBCS/Unicode e Macros e Globais MFC.
Macros de Conversão de Strings DEVMODE e TEXTMETRIC
Estas macros criam uma cópia de uma estrutura DEVMODE ou TEXTMETRIC e convertem as strings dentro da nova estrutura para um novo tipo de string. As macros alocam memória na pilha para a nova estrutura e retornam um ponteiro para a nova estrutura.
MACRONAME( address_of_structure )
Observações
Por exemplo:
DEVMODEW* lpw = DEVMODEA2W(lpa);
e:
TEXTMETRICW* lptmw = TEXTMETRICA2W(lptma);
Nos nomes das macros, o tipo de string na estrutura de origem está à esquerda (por exemplo, A) e o tipo de string na 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 DEVMODE estrutura com cordas LPSTR numa DEVMODE estrutura com cordas LPWSTR, TEXTMETRICOLE2T copia uma TEXTMETRIC estrutura com cordas LPOLESTR numa TEXTMETRIC estrutura com cordas LPTSTR, e assim sucessivamente.
As duas cadeias convertidas na DEVMODE estrutura são o nome do dispositivo (dmDeviceName) e o nome da forma (dmFormName). As DEVMODE macros de conversão de string também atualizam o tamanho da estrutura (dmSize).
As quatro cadeias convertidas na TEXTMETRIC estrutura são o primeiro carácter (tmFirstChar), o último carácter (tmLastChar), o carácter padrão (tmDefaultChar) e o carácter break (tmBreakChar).
O comportamento das DEVMODE macros de conversão e TEXTMETRIC string depende da diretiva do compilador em vigor, se existir. Se os tipos de origem e destino forem os mesmos, não ocorre conversão. As diretivas do compilador alteram T e OLE da seguinte forma:
| Diretiva do compilador em efetivo | T torna-se | OLE torna-se |
|---|---|---|
| nenhuma | A | W |
| _UNICODE | W | W |
| OLE2ANSI | A | A |
| _UNICODE e OLE2ANSI | W | A |
A tabela seguinte lista os DEVMODE macros de conversão e TEXTMETRIC string.
DEVMODE macro |
TEXTMETRIC macro |
|---|---|
| DEVMODEA2W | TEXTMETRICA2W |
| DEVMODEOLE2T | TEXTMETRICOLE2T |
| DEVMODET2OLE | TEXTMETRICT2OLE |
| DEVMODEW2A | TEXTMETRICW2A |