DEVMODE 和 TEXTMETRIC 字串轉換巨集
這些巨集建立 DEVMODE 或 TEXTMETRIC 結構的複本並且將新結構中的字串傳遞至新的資料型別。 巨集在堆疊上配置記憶體新結構的並傳回指向新的結構。
MACRONAME(
address_of_structure
)
備註
例如:
DEVMODEW* lpw = DEVMODEA2W(lpa);
以及:
TEXTMETRICW* lptmw = TEXTMETRICA2W(lptma);
在巨集名稱,字串輸入來源結構左邊 (例如,從 A) 和字串輸入目的結構右邊 W (例如,)。 A 表示 LPSTR, OLE 表示 LPOLESTR, T 表示 LPTSTR和 W 位置 LPWSTR的。
因此, DEVMODEA2W 複製與 LPSTR 字串的 DEVMODE 結構將具有 LPWSTR 字串, TEXTMETRICOLE2T 的 DEVMODE 結構複製與 LPOLESTR 字串的 TEXTMETRIC 結構將具有 LPTSTR 字串的 TEXTMETRIC 結構,依此類推。
在 DEVMODE 結構轉換的兩個字串是裝置名稱 (dmDeviceName) 和表單名稱 (dmFormName)。 DEVMODE 字串轉換巨集也會更新結構大小 (dmSize)。
在 TEXTMETRIC 結構轉換的四個字串是第一個字元 (tmFirstChar),最後一個字元 (tmLastChar),預設字元 (tmDefaultChar) 和中斷tmBreakChar字元 ()。
DEVMODE 和 TEXTMETRIC 字串轉換巨集的行為實際依賴編譯器指示詞,,如果有的話。 如果來源和目的型別相同,則不會進行轉換。 編譯器指示詞變更 T 和 OLE 如下所示:
編譯器指示詞實際上 |
T 變成 |
OLE 變成 |
---|---|---|
無 |
A |
W |
_UNICODE |
W |
W |
OLE2ANSI |
A |
A |
_UNICODE 和 OLE2ANSI |
W |
A |
下表列出 DEVMODE 和 TEXTMETRIC 字串轉換巨集。
DEVMODE 和 TEXTMETRIC 字串轉換巨集
DEVMODEA2W |
TEXTMETRICA2W |
DEVMODEOLE2T |
TEXTMETRICOLE2T |
DEVMODET2OLE |
TEXTMETRICT2OLE |
DEVMODEW2A |
TEXTMETRICW2A |