Makro Konversi String
Makro ini menyediakan fitur konversi string.
Makro Konversi String ATL dan MFC
Makro konversi string yang dibahas di sini valid untuk ATL dan MFC. Untuk informasi selengkapnya tentang konversi string MFC, lihat TN059: Menggunakan Makro Konversi MFC MBCS/Unicode dan Makro MFC dan Global.
Makro Konversi String DEVMODE dan TEXTMETRIC
Makro ini membuat salinan struktur DEVMODE atau TEXTMETRIC dan mengonversi string dalam struktur baru ke jenis string baru. Makro mengalokasikan memori pada tumpukan untuk struktur baru dan mengembalikan penunjuk ke struktur baru.
MACRONAME( address_of_structure )
Keterangan
Contohnya:
DEVMODEW* lpw = DEVMODEA2W(lpa);
dan:
TEXTMETRICW* lptmw = TEXTMETRICA2W(lptma);
Dalam nama makro, jenis string dalam struktur sumber berada di sebelah kiri (misalnya, A) dan jenis string dalam struktur tujuan ada di sebelah kanan (misalnya, W). Singkatan dari LPSTR, OLE adalah singkatan dari LPOLESTR, T singkatan dari LPTSTR, dan W adalah singkatan dari LPWSTR.
Dengan demikian, DEVMODEA2W menyalin DEVMODE
struktur dengan string LPSTR ke dalam DEVMODE
struktur dengan string LPWSTR, TEXTMETRICOLE2T menyalin TEXTMETRIC
struktur dengan string LPOLESTR ke dalam TEXTMETRIC
struktur dengan string LPTSTR, dan sebagainya.
Dua string yang dikonversi dalam DEVMODE
struktur adalah nama perangkat (dmDeviceName
) dan nama formulir (dmFormName
). DEVMODE
Makro konversi string juga memperbarui ukuran struktur (dmSize
).
Empat string yang dikonversi dalam TEXTMETRIC
struktur adalah karakter pertama (tmFirstChar
), karakter terakhir (tmLastChar
), karakter default (tmDefaultChar
), dan karakter pemisah (tmBreakChar
).
Perilaku DEVMODE
makro konversi string dan TEXTMETRIC
tergantung pada direktif kompilator yang berlaku, jika ada. Jika jenis sumber dan tujuan sama, tidak ada konversi yang terjadi. Arahan kompilator mengubah T dan OLE sebagai berikut:
Direktif kompilator berlaku | T menjadi | OLE menjadi |
---|---|---|
tidak ada | A | W |
_UNICODE | W | W |
OLE2ANSI | A | A |
_UNICODE dan OLE2ANSI | W | A |
Tabel berikut mencantumkan DEVMODE
makro konversi string dan TEXTMETRIC
.
DEVMODE makro |
TEXTMETRIC makro |
---|---|
DEVMODEA2W | TEXTMETRICA2W |
DEVMODEOLE2T | TEXTMETRICOLE2T |
DEVMODET2OLE | TEXTMETRICT2OLE |
DEVMODEW2A | TEXTMETRICW2A |