ウィンドウクラスの背景色変更

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
◯◯ 放送禁止用語なので修正しました

ウィンドウクラスの背景色変更

#1

投稿記事 by ◯◯ 放送禁止用語なので修正しました » 13年前

したの方法でstaticウィンドウクラスの背景色を黒に変更しました
プログラムのなかでほかにもstaticウィンドウクラスを使用したいのですが
その場合新しく作ったウィンドウの背景色も黒になってしまうのでしょうか?
そうだとしたら同じウィンドウクラスでウィンドウを作成したときに個別の背景色を
設定するにはどうしたらよいでしょうか?

コード:

    case WM_CTLCOLORSTATIC:
        hdc = (HDC)wParam ;
        //ハンドルの照会処理
        if (HWND_CONTROL::hStatic == (HWND)lParam)
        {
            hBrush = CreateSolidBrush(RGB(0,0,0));            
            return (BOOL)hBrush;
        }
        break;

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: ウィンドウクラスの背景色変更

#2

投稿記事 by ISLe » 13年前

スタティックコントロールにデフォルトのID(IDC_STATIC)ではなく別のIDを設定し、コントロールIDを取得して条件分岐すれば良いと思います。
背景色によってIDを分ければ、ID毎に同じ背景色とすることができます。

(追記)
スタティックコントロールの塗り潰し用ブラシの指定は、ウィンドウ(クラス)の背景色を変更してるわけではないと思いますけど。
これってもうひとつの質問の回答になってますかね。

閉鎖

“C言語何でも質問掲示板” へ戻る