Sdílet prostřednictvím


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

Viz také

Makra