スタティックウインドウの背景色を好きな色にしたいです。
case WM_CTLCOLORSTATIC:
return GetStockObject(WHITE_BRUSH);
で、白と灰色と黒ならできるけど、それ以外は
どうしたらいいんですか?
例えば、200,0,0 という赤色なら、
HBRUSH hBrush = CreateSolidBrush(200);
~
case WM_CTLCOLORSTATIC:
return GetStockObject(hBrush);
としてもコンパイルエラーだし。
SelectObject()を使いましょう。
単に
return hBrush;
でいいです。
#キャストが必要ですけどね。
そんなことないですよ。CreateSolidBrushは、使えます。
case WM_CTLCOLORSTATIC:
hBrush = CreateSolidBrush(RGB(255,255,255));
return (long)hBrush;
> case WM_CTLCOLORSTATIC:
> hBrush = CreateSolidBrush(RGB(255,255,255));
> return (long)hBrush;
これはまずいですよ。Create したブラシを削除することが出来ません。
あらかじめ別の場所で Create しておいたブラシのハンドルを返すだけでよいです。
>Bun
寝言? あほかっ!
>Mr.Tame
>kazuma
ありがとうございます。
return (long)hBrush;
でできました。
case WM_CTLCOLORSTATIC:
hBrush = CreateSolidBrush(RGB(200,0,0));
だと、ブラシを削除できないから、別の位置で
ブラシを作りました。
kazumaさんの言うとうりです。
hBrush = CreateSolidBrush(RGB(255,255,255));を
case WM_CTLCOLORSTATIC:の前に書くつもりが謝って
後に書いてしまいました。すいません。
> 寝言? あほかっ!
Bunさんの名誉のため、API派さんの今後のためにも一応突っ込んどきます
解決のチェックがついてしまっていますが、ご覧いただけることを期待します
それが聞く側の態度ですか?
確かにSelectObjectは見当違いですが、私(他の方もそうかも知れません)から見たら
return GetStockObject(hBrush);
も
あほかっ!
って感じなんですけどねぇ
プログラミング以前にもっと学ぶべきものがあると思います
以上
>Bunさんの名誉のため、API派さんの今後のためにも一応突っ込んどきます
フォロー??? ありがとうございます。
> あほかっ!
>って感じなんですけどねぇ
ただ、個人の批判はしないように注意事項に書いてあります。
いわれたら、気分のいいものではないので、控えるべきですよね。
もとはといえば、私の誤った解答が原因なので、こちらでお詫びします。
もう少し、内容を良く読んで、発言するように注意します。
すみませんでした。m(__)m