Visual Studio には標準で文字列をユーザが定義できる「文字列テーブル」という便利なものがあります。これを使うことで以下の点で優れています。
- 韓国語などの文字列や、中国語などを気にしなくて済む
- 文字列をリソースとして埋め込むので柔軟に扱うことができる
- ユニコード・マルチバイトを気にせずに使える
方法:
- Visual Studioの「ソリューションエクスプローラー」から「追加」→「リソース」で「String Table」を選んで「新規作成」をクリック
- 「ID」をIDS_なんとか 「キャプション」を「ウィンドウタイトルネーム」と入力して保存
- ソースファイルかヘッダーファイルのいずれかにresource.hをインクルード
- TCHAR配列の文字列を用意して LoadString 関数を呼び出す
CODE:
//resource.rc
#include "resource.h"
STRINGTABLE
{
IDS_WINDOWTITLE "ウィンドウタイトル"
}
//resource.h
#define IDS_WINDOWTITLE 101
のようにして定義します。
CODE:
TCHAR lpWindowName[256];
LoadString(GetModuleHandle(NULL), IDS_WINDOWTITLE, lpWindowName, 256);
と書けば「lpWindowName」に「ウィンドウタイトル」の文字列が格納されます。