掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ボタンと背景の表示について (ID:50947)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
起動するとウィンドウの背景にビットマップを表示(ウィンドウの背景)し、普通のボタンをその上に作りたいのですがうまくいきません。 サンプルを見て試してみたのですが、根本的に理解しきれていないようで結局自分では解決できませんでした。 このソースだとボタンの表示されるべき場所をクリックすると一瞬だけボタンが現れてそのまま消えてしまいます。 ビットマップを無しにすると、ボタンのあるべき場所をクリックしたらボタンが出現するのですが、起動しただけではただウィンドウがあるだけの状態になります。 「こんなこともできないならプログラム組もうとするなよ」と思われるかもしれませんが、よろしくお願いします。 環境:VC++6(SP5)、SDK、Windows2000、サンプル(恐らくこのHPで貰っていったものです) LRESULT CALLBACK WindowProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam) { static HWND hChdWnd; switch (uMsg) { case WM_CREATE: //背景 hBitmap = (HBITMAP)LoadImage((HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),ファイル名,IMAGE_BITMAP,Width,Height,LR_LOADFROMFILE); //ボタン hChdWnd = CreateControlWindow(hwnd,20,10,100,100,WS_EX_WINDOWEDGE,BS_PUSHBUTTON,"終了","BUTTON",(HMENU)ID_END,(HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE)); break; case WM_PAINT: BITMAP BMPINFO; HDC hMem, hDC; if (hBitmap!=NULL) { hDC=GetDC(hwnd); GetObject(hBitmap, sizeof(BITMAP), &BMPINFO); hMem = CreateCompatibleDC(hDC); SelectObject(hMem, hBitmap); BitBlt(hDC, 0, 0, BMPINFO.bmWidth, BMPINFO.bmHeight, hMem, 0, 0, SRCCOPY); DeleteDC(hMem); ReleaseDC(hwnd, hDC); } break;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.