Macros de conversion de chaînes
Ces macros fournissent des fonctionnalités de conversion de chaîne.
Macros de conversion de chaînes ATL et MFC
Les macros de conversion de chaînes présentées ici sont valides à la fois pour ATL et pour MFC. Pour plus d’informations sur la conversion de chaîneS MFC, consultez TN059 : Utilisation de macros de conversion MFC MBCS/Unicode et macros MFC et globals.
Macros de conversion de chaînes DEVMODE et TEXTMETRIC
Ces macros créent une copie d’une structure DEVMODE ou TEXTMETRIC et convertissent les chaînes dans la nouvelle structure en un nouveau type de chaîne. Les macros allouent de la mémoire sur la pile pour la nouvelle structure et retournent un pointeur vers la nouvelle structure.
MACRONAME( address_of_structure )
Notes
Par exemple :
DEVMODEW* lpw = DEVMODEA2W(lpa);
et
TEXTMETRICW* lptmw = TEXTMETRICA2W(lptma);
Dans les noms de macros, le type de chaîne dans la structure source se trouve à gauche (par exemple, A) et le type de chaîne dans la structure de destination se trouve à droite (par exemple, W). A signifie LPSTR, OLE signifie LPOLESTR, T signifie LPTSTR, et W pour LPWSTR.
Ainsi, DEVMODEA2W copie une DEVMODE
structure avec des chaînes LPSTR dans une DEVMODE
structure avec des chaînes LPWSTR, TEXTMETRICOLE2T copie une TEXTMETRIC
structure avec des chaînes LPOLESTR dans une TEXTMETRIC
structure avec des chaînes LPTSTR, et ainsi de suite.
Les deux chaînes converties dans la structure sont le nom de l’appareil DEVMODE
(dmDeviceName
) et le nom du formulaire (dmFormName
). Les DEVMODE
macros de conversion de chaîne mettent également à jour la taille de la structure (dmSize
).
Les quatre chaînes converties dans la TEXTMETRIC
structure sont le premier caractère (tmFirstChar
), le dernier caractère (tmLastChar
), le caractère par défaut (tmDefaultChar
) et le caractère d’arrêt (tmBreakChar
).
Le comportement des macros de conversion de DEVMODE
chaîne et TEXTMETRIC
de chaîne dépend de la directive du compilateur en vigueur, le cas échéant. Si les types source et de destination sont les mêmes, aucune conversion n'est effectuée. Les directives du compilateur changent T et OLE comme suit :
Directive du compilateur appliquée | T devient | OLE devient |
---|---|---|
Aucune | A | W |
_UNICODE | W | W |
OLE2ANSI | A | A |
_UNICODE et OLE2ANSI | W | A |
Le tableau suivant répertorie les DEVMODE
macros de TEXTMETRIC
conversion de chaîne et de chaîne.
Macro DEVMODE |
Macro TEXTMETRIC |
---|---|
DEVMODEA2W | TEXTMETRICA2W |
DEVMODEOLE2T | TEXTMETRICOLE2T |
DEVMODET2OLE | TEXTMETRICT2OLE |
DEVMODEW2A | TEXTMETRICW2A |