ビットマップ画像表示
いつもお世話になっております。
VS2005でC++を用いてWindowsアプリケーションの作成をしています。
子ウィンドウにビットマップ画像(ファイル名:HELP.bmp)を
表示させようとプログラムを組んだのですが、
子ウィンドウを出してもビットマップ画像が表示されません。
以下のようなプログラムを追加しました。
---------------------------------
///リソーススクリプト/////////////////////////////////
IDB_BITMAP1 BITMAP DISCARDABLE "HELP.bmp"
///ヘッダースクリプト/////////////////////////////////
#define IDB_BITMAP1 3000
///ソーススクリプト///////////////////////////////////
void ShowMyBMP(HWND hWnd, HDC hdc){
HDC hmdc;
HBITMAP hBitmap;
BITMAP bmp;
HINSTANCE hInst;
int BMP_W, BMP_H;
hInst = (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE);
hBitmap = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_BITMAP1)); //インスタンスハンドル取得
GetObject(hBitmap, sizeof(BITMAP), &bmp); //ビットマップの情報を得る
BMP_W = (int)bmp.bmWidth; //画像の幅
BMP_H = (int)bmp.bmHeight; //画像の高さ
hmdc = CreateCompatibleDC(hdc); //メモリデバイスコンテキストハンドルを取得
SelectObject(hmdc, hBitmap);
BitBlt(hdc, 0, 0, BMP_W, BMP_H, hmdc, 0, 0, SRCCOPY);
StretchBlt(hdc, 0, BMP_H, BMP_W / 2, BMP_H / 2, hmdc, 0, 0, BMP_W, BMP_H, SRCCOPY);
DeleteDC(hmdc); //デバイスコンテキストハンドルを開放
DeleteObject(hBitmap);
return;
}
---------------------------------
ShowMyBMP関数は子ウィンドウを表示するときに実行されます。
全て載せられないので追加した部分のみプログラムを載せましたが、
この部分だけでも、プログラムの間違い等はありませんでしょうか。
ご教授お願いいたします。
お礼
回答ありがとうございます 壁紙にできました こんなやり方があったとは勉強になりました ありがとうございました