winXP + VC++6.0(MFC)にてプログラムしています。
ダイアログに貼り付けたボタンコントロールに画像を表示させたく、以下の
ような手順で実行しました。
ビルドエラーは表示されないのですが、実行時に当該ボタン上に画像が表示
されません。
いろいろサイトを検索しサンプルコード等を自分用に読みかえて試しても見
たのですが、うまくいきません。原因にお気づきの点がありましたらアドバ
イスをお願いいたします。
//IDB_BITMAP1はビットマップリソースのIDです。
//m_Button1はクラスウィザードで当該ボタンコントロールに設定したコント
ロールメンバ変数です。
//当該ボタンコントロールのプロパティで、「ビットマップ」にチェックを入
れています。
以下のコードをダイアログのOnInitDialogハンドラ内に記述しています。
CBitmap myBmp;
myBmp.LoadBitmap(IDB_BITMAP1);
HBITMAP hBmp = myBmp;
m_Button1.SetBitmap(hBmp);
よろしくお願いいたします。
おそらくOnInitDialogを抜けるとビットマップを読み込んだ変数が破棄されるのが原因ですね。
ヘッダーファイルに移してみてください。
みいさん、Resをありがとうございます。
ご指摘のとおりにビットマップ用の変数をグローバル化した結果、拍子抜け
するほどアッサリと表示されました。
どうもありがとうございました。