掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ボタンを再描画するには (ID:51023)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> それでもって,どこに問題があるかは調べなかったのですか? 申し訳ありませんでした。他人任せになりすぎでした。 改めて調べてみるとリソースのビットマップが読み込めていなかったようです。 いろいろ本やWebサイトを見て挑戦しているのですが、いまだにリソースの扱い方がいまいちわかっていないので、自分でわかる方法でやってみようと直接ビットマップを読み込ませて実行してみると、ちゃんと背景も表示されて正常と思える動作をしました。 自分で作成している方は提示していただいたサンプルと基本的には同じようにウィンドウの作成やボタンの作成を行っていると思うのですが、やはりうまくいきませんでした。(ウィンドウのスタイルは違いますが) ただ単純にウィンドウを作成して背景を描画し、ボタンを配置するだけのものにまで削ってみたのですがそれでもボタンの再描画がされずに後ろのウィンドウを残したままになってしまいました。 http://www.geocities.co.jp/SiliconValley-Oakland/1272/test2.htm これがそのプログラムのcppファイルの中身です。 ここから更に「WM_PAINT」の処理を全てなくすとボタンの再描画は正常に行われるようになりました。 そこでここに原因があるのではないかと思うのですが、どうでしょうか。 hBitmapにはロードしたビットマップのハンドルが入っています。 1枚のビットマップをファイルから直接ロードしてそのままウィンドウの背景として表示させています。 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); }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.