![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
hSWnd = CreateWindow("STATIC","あいう",WS_CHILD | WS_VISIBLE,
0,0,320,240,hWnd,NULL,hInst,NULL);
に対して、
case WM_CTLCOLORSTATIC:
hBrush = CreateSolidBrush(RGB(0, 255, 0));
return (LRESULT)hBrush;
break;
とすると、hSWnd は緑になるけど、hSWnd の あいう の文字の
背景色が白です。
その白の部分を赤にするソースを教えてください。
No.1ベストアンサー
- 回答日時:
WM_CTLCOLORSTATICのところで下記を追加すればいいはずです。
SetBkMode((HDC)wParam, TRANSPARENT);//背景を透過にする
この回答への補足
ありがとうございます。
できました。
hBrush = CreateSolidBrush(RGB(0, 255, 0));
case WM_CTLCOLORSTATIC:
hDC = GetDC(hSWnd);
SetBkMode(hDC, TRANSPARENT);
ReleaseDC(hSWnd, hDC);
return (LRESULT)hBrush;
break;
こなんのを試したこともあって、やってることは
SetBkMode((HDC)wParam, TRANSPARENT);
と同じだと思ったのに、
SetBkMode((HDC)wParam, TRANSPARENT);
じゃないとだめだったんですねー。
どうして
hDC = GetDC(hSWnd);
SetBkMode(hDC, TRANSPARENT);
ReleaseDC(hSWnd, hDC);
はだめなんですか?
No.2
- 回答日時:
#1のakinori_sです。
>どうして
> hDC = GetDC(hSWnd);
> SetBkMode(hDC, TRANSPARENT);
> ReleaseDC(hSWnd, hDC);
>はだめなんですか?
GetDCで取得したデバイスコンテキストに対してSetBkModeを行っても
これが有効なのはこの時だけで属性が保持されるわけじゃないからです。
ですので描画処理が走った場合にWM_PAINT等で描画が行われると思いますが
この時に使用されるデバイスコンテキストに対して属性を設定した訳じゃないので
前の塗りつぶしモードで文字が上書きされてしまうんじゃないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルから、パワーポイントのスライドを複数作成する。 1 2022/07/08 09:40
- Photoshop(フォトショップ) MacでPhotoshopに使い方 教えて! 2 2023/07/08 08:24
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- Photoshop(フォトショップ) Photoshopで背景の色を知りたいのですが、文字の色は出るのに背景の色は計測できません。どうすれ 2 2023/01/23 00:06
- Excel(エクセル) こんなことできますか?例えば、sheetに貼り付けた図形のタイトルを、セルA1の文字で表示する。 5 2022/04/22 15:25
- Word(ワード) Wordの「背景色を消す方法」教えてください 1 2022/05/15 19:32
- フリーソフト GIMPの使い方 1 2022/07/11 13:52
- その他(Microsoft Office) マクロについて教えて下さい 3 2022/05/28 15:36
- Windows 95・98 タスクバーの背景の色だけを変えたい。 2 2022/07/13 14:44
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コントロール内の文字の背景色
-
デスクトップ撮影を実現するwin...
-
色描画
-
ビットマップ(表示速度とサイズ)
-
クライアント領域をCBitmapに取...
-
パレット番号で塗りつぶし
-
グラフの交点の求め方(Excel)
-
ゲームでは結局どっちが良いの?
-
マインクラフト(pc版)で座標...
-
エクセルで作った新しいウイン...
-
UWSCで特定のChromeのタブをア...
-
勝手にウィンドウが開いて止ま...
-
Tera Termに他のアプリから文字...
-
エクセルのコントロールツール...
-
コンボボックス内の文字サイズ変更
-
Labelの文字をスクロールする際...
-
「アイテムは収集されました」...
-
ピクチャボックスの座標取得
-
他アプリの操作(メニューバー)
-
Windowのちらつき防止
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンテキスト依存とは?
-
画面がチカチカする
-
コントロール内の文字の背景色
-
ダイアログにビットマップを貼...
-
PlgBltでの透過
-
メモリデバイスコンテキスト&...
-
Active Basic 再描写処理
-
パレット番号で塗りつぶし
-
PrintScreenしたあとに画像を保...
-
ビットマップ(表示速度とサイズ)
-
SetWindowRgn()関数について。
-
OpenGLでウィンドウハンドルの取得
-
VC++のTextOutの再描画の仕方
-
usbデバイスとの通信
-
クライアント領域をCBitmapに取...
-
ハードコピーをプログラムから...
-
[Active Basic]BitBltで画像を表示
-
BitBlt関数について教えてください
-
色描画
-
VC++でopenGLを利用したい...。
おすすめ情報