Makra převodu řetězců
Tato makra poskytují funkce převodu řetězců.
Makra převodu řetězců ATL a MFC
Makra převodu řetězců, která jsou zde popsána, jsou platná pro KNIHOVNY ATL i MFC. Další informace o převodu řetězců MFC naleznete v tématu TN059: Použití konverzních maker MFC MBCS/Unicode a maker a globálních objektů MFC.
Makra převodu řetězců DEVMODE a TEXTMETRIC
Tato makra vytvoří kopii struktury DEVMODE nebo TEXTMETRIC a převedou řetězce v rámci nové struktury na nový typ řetězce. Makra přidělují paměť v zásobníku pro novou strukturu a vrátí ukazatel na novou strukturu.
MACRONAME( address_of_structure )
Poznámky
Příklad:
DEVMODEW* lpw = DEVMODEA2W(lpa);
a:
TEXTMETRICW* lptmw = TEXTMETRICA2W(lptma);
V názvech maker je typ řetězce ve zdrojové struktuře vlevo (například A) a typ řetězce v cílové struktuře je vpravo (například W). A zkratka pro LPSTR, OLE zkratka pro LPOLESTR, T zkratky pro LPTSTR a W zkratky pro LPWSTR.
Proto DEVMODEA2W zkopíruje DEVMODE
strukturu s řetězci LPSTR do DEVMODE
struktury s řetězci LPWSTR, TEXTMETRICOLE2T zkopíruje TEXTMETRIC
strukturu s řetězci LPOLESTR do TEXTMETRIC
struktury s řetězci LPTSTR atd.
Dva řetězce převedené ve DEVMODE
struktuře jsou název zařízení (dmDeviceName
) a název formuláře (dmFormName
). Makra DEVMODE
převodu řetězců také aktualizují velikost struktury (dmSize
).
Čtyři řetězce převedené ve TEXTMETRIC
struktuře jsou prvním znakem (tmFirstChar
), posledním znakem (tmLastChar
), výchozím znakem (tmDefaultChar
) a znakem konce (tmBreakChar
).
Chování maker převodu DEVMODE
TEXTMETRIC
řetězců závisí na direktivě kompilátoru, pokud existuje. Pokud jsou zdrojové a cílové typy stejné, neprobíhá žádný převod. Direktivy kompilátoru mění T a OLE následujícím způsobem:
Platná direktiva kompilátoru | T se stane | OLE se stane |
---|---|---|
Žádná | A | W |
_UNICODE | W | W |
OLE2ANSI | A | A |
_UNICODE a OLE2ANSI | W | A |
V následující tabulce jsou uvedena makra převodu DEVMODE
řetězců.TEXTMETRIC
DEVMODE makro |
TEXTMETRIC makro |
---|---|
DEVMODEA2W | TEXTMETRICA2W |
DEVMODEOLE2T | TEXTMETRICOLE2T |
DEVMODET2OLE | TEXTMETRICT2OLE |
DEVMODEW2A | TEXTMETRICW2A |