Embedded C++ で MessageBox

投稿者: | 2005年11月27日

文字コードがUNICODEで扱われているWinCEの世界では、文字の扱いでいろいろと戸惑う事が多い。
MessageBoxでエラーメッセージを表示する場合、

MessageBox(NULL,_T(“一件も見つかりませんでした!”),_T(“SQL文実行結果”),MB_OK);

のようにする。
文字列を指定する場合は、_t( )で囲み、UNICODEであることを明示する必要があるのだ。
文字列変数を指定する場合も、char型では文字化けが発生する。
その場合は、CString型を指定すれば大丈夫だ。

char *errmsg;
 (errmsg に文字列をセットする処理)
CString work = errmsg;
MessageBox(NULL,work,_T(“エラーメッセージ”),MB_OK);

例えばこのように処理すれば文字化けは発生しない。