Condividi tramite


Macro di conversione di stringhe

Queste macro forniscono funzionalità di conversione di stringhe.

Macro di conversione di stringhe ATL e MFC

Le macro di conversione di stringhe presentate in questo argomento sono valide sia per ATL che per MFC. Per altre informazioni sulla conversione di stringhe MFC, vedere TN059: Using MFC MBCS/Unicode Conversion Macros and MFC Macros and Globals.For more information on MFC string conversion conversion, see TN059: Using MFC MBCS/Unicode Conversion Macros and MFC Macros and Globals.

Macro di conversione di stringhe DEVMODE e TEXTMETRIC

Queste macro creano una copia di una struttura DEVMODE o TEXTMETRIC e convertono le stringhe all'interno della nuova struttura in un nuovo tipo di stringa. Le macro allocano memoria nello stack per la nuova struttura e restituiscono un puntatore alla nuova struttura.

MACRONAME( address_of_structure )

Osservazioni:

Ad esempio:

DEVMODEW* lpw = DEVMODEA2W(lpa);

e:

TEXTMETRICW* lptmw = TEXTMETRICA2W(lptma);

Nei nomi delle macro, il tipo stringa nella struttura di origine si trova a sinistra (ad esempio, A) e il tipo stringa nella struttura di destinazione è a destra (ad esempio, W). Un acronimo di LPSTR, OLE sta per LPOLESTR, T sta per LPTSTR e W è l'acronimo di LPWSTR.

Pertanto, DEVMODEA2W copia una DEVMODE struttura con stringhe LPSTR in una DEVMODE struttura con stringhe LPWSTR, TEXTMETRICOLE2T copia una TEXTMETRIC struttura con stringhe LPOLESTR in una TEXTMETRIC struttura con stringhe LPTSTR e così via.

Le due stringhe convertite nella DEVMODE struttura sono il nome del dispositivo (dmDeviceName) e il nome del modulo (dmFormName). Le DEVMODE macro di conversione delle stringhe aggiornano anche le dimensioni della struttura (dmSize).

Le quattro stringhe convertite nella TEXTMETRIC struttura sono il primo carattere (tmFirstChar), l'ultimo carattere (tmLastChar), il carattere predefinito (tmDefaultChar) e il carattere di interruzione (tmBreakChar).

Il comportamento delle macro di conversione di DEVMODE stringhe e TEXTMETRIC dipende dalla direttiva del compilatore, se presente. Se i tipi di origine e di destinazione sono uguali, la conversione non viene eseguita. Le direttive del compilatore modificano T e OLE come indicato di seguito:

Direttiva del compilatore attiva T diventa OLE diventa
Nessuno A W
_UNICODE W W
OLE2ANSI A A
_UNICODE e OLE2ANSI W A

Nella tabella seguente sono elencate le macro di conversione di DEVMODE stringhe e TEXTMETRIC .

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

Vedi anche

Macro