Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 |