エフェクト名も難なく変える事が出来たので、次は絵を表示させてみようと思いました。リソースからのBMPをロードした事が無いので、早速ゲイツに聞いてみます。
サンプルコードを参考に、CSample::Render()にリソースID「IDB_BITMAP1」の画像をロードするようなコードを書きました。
HINSTANCE hInstance = ::GetModuleHandle(NULL);
HBITMAP hBmp= LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP1));
if(!hBmp)
{
//hBmpがNULLであればエラーメッセージを出力する
OutputMessage(GetLastError());
}
これで取得したhBmpを素直に描画してやればいいやなんて思ってましたが、実際実行してみるとhBmpはNULLで返ってきてしまいます。
覚えたてのエラーメッセージ取得技を使ってみると、エラーメッセージは「指定されたリソースの種類がイメージファイルに見つかりません。」です。
Σ('д';)な、なんやってー!?
プロジェクト内を「IDB_BITMAP1」で検索したら定義はちゃんとあります。
#define IDB_BITMAP1 201
IDB_BITMAP1 BITMAP DISCARDABLE "bitmap1.bmp"
リソースエディタでBITMAPを追加して、ビルドが走ってるのも確認してるので問題は無いかと思うんだけど……何がおかしいのでしょうか?教えて偉い人!!
……と、ここまで書いたけど、自己解決しました。(解決編へ続きます。)