例
ダイアログテンプレートのリソース名が
IDD_STRINGEDIT (define マクロで定義された整数値)である場合、次のようなコードになる。
int rc; // result code
HRSRC res;
HGLOBAL loadedResHdl;
res = FindResource( AfxGetApp()->m_hInstance,
static_cast<LPCTSTR>( IDD_MYDIALOG ),
RT_DIALOG );
if( res == NULL )
{
return FALSE;
}
loadedResHdl = LoadResource( AfxGetApp()->m_hInstance, res );
if( loadedResHdl == NULL )
{
return FALSE;
}
rc = dlg.InitModalIndirect( loadedResHdl, NULL );
if( rc == FALSE )
{
return FALSE;
}
rc = dlg.DoModal();
if( rc != IDOK )
{
// do something
}
// do something
FindResource の第二引数には検索するリソースの名前を表す文字列を与える。
しかし Visual C++ のダイアログエディタで作ったダイアログリソースのように整数をリソースの識別子に使う場合は、その整数を文字列にキャストして与える。
つまり、sprintf や itoa などを使って数値を文字に変換したものを与えるわけではない。