Udostępnij za pośrednictwem


Makra konwersji ciągów

Te makra udostępniają funkcje konwersji ciągów.

Makra konwersji ciągów ATL i MFC

Makra konwersji ciągów omówione tutaj są prawidłowe zarówno dla ATL, jak i MFC. Aby uzyskać więcej informacji na temat konwersji ciągów MFC, zobacz TN059: Using MFC MBCS/Unicode Conversion Macros and MFC Macros and MFC Macros and Globals (Używanie makr konwersji MFC MBCS/Unicode) i MFC Macros and Globals (Makra konwersji MFC MBCS/Unicode).

Makra konwersji ciągów DEVMODE i TEXTMETRIC

Te makra tworzą kopię struktury DEVMODE lub TEXTMETRIC i konwertują ciągi w nowej strukturze na nowy typ ciągu. Makra przydzielają pamięć na stosie dla nowej struktury i zwracają wskaźnik do nowej struktury.

MACRONAME( address_of_structure )

Uwagi

Przykład:

DEVMODEW* lpw = DEVMODEA2W(lpa);

i:

TEXTMETRICW* lptmw = TEXTMETRICA2W(lptma);

W nazwach makr typ ciągu w strukturze źródłowej znajduje się po lewej stronie (na przykład A), a typ ciągu w strukturze docelowej znajduje się po prawej stronie (na przykład W). A oznacza LPSTR, OLE oznacza LPOLESTR, T oznacza LPTSTR, a W oznacza LPWSTR.

W związku z tym DEVMODEA2W kopiuje DEVMODE strukturę z ciągami LPSTR do DEVMODE struktury z ciągami LPWSTR, TEXTMETRICOLE2T kopiuje TEXTMETRIC strukturę z ciągami LPOLESTR do TEXTMETRIC struktury z ciągami LPTSTR itd.

Dwa ciągi przekonwertowane w DEVMODE strukturze to nazwa urządzenia (dmDeviceName) i nazwa formularza (dmFormName). DEVMODE Makra konwersji ciągów aktualizują również rozmiar struktury (dmSize).

Cztery ciągi przekonwertowane w TEXTMETRIC strukturze są pierwszym znakiem (tmFirstChar), ostatnim znakiem (tmLastChar), znakiem domyślnym (tmDefaultChar) i znakiem przerwania (tmBreakChar).

Zachowanie DEVMODE makr konwersji ciągów i TEXTMETRIC zależy od dyrektywy kompilatora, jeśli istnieje. Jeśli typy źródłowe i docelowe są takie same, nie ma konwersji. Dyrektywy kompilatora zmieniają język T i OLE w następujący sposób:

Dyrektywa kompilatora w mocy T staje się Obiekt OLE staje się
Brak A W
_UNICODE W W
OLE2ANSI A A
_UNICODE i OLE2ANSI W A

W poniższej tabeli wymieniono makra DEVMODE konwersji ciągów i TEXTMETRIC .

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

Zobacz też

Makra