
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ランキング
-
VC++のTextOutの再描画の仕方
-
画像処理 ビットマップ ダブ...
-
BitBlt関数について教えてください
-
コントロール内の文字の背景色
-
コンテキスト依存とは?
-
GetDC()とCreateCompatibleDC()
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
グラフの交点の求め方(Excel)
-
コントロールの書式設定で、“コ...
-
ラジオボタンの初期指定
-
コンボボックス内の文字サイズ変更
-
ActiveXコントロールを.NETにイ...
-
皆さん、おはようございます♪ ...
-
word
-
VBAのフォント変更(エクセルか...
-
[VB.net] DataGridViewの列ヘッ...
-
フォームでPDFを表示させた...
-
マインクラフト(pc版)で座標...
-
フォーム上のリストボックスに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンテキスト依存とは?
-
PlgBltでの透過
-
OpenGLでウィンドウハンドルの取得
-
メモリデバイスコンテキストを...
-
GetDC()とCreateCompatibleDC()
-
ちらつきについて
-
VBでFD、USBの有効・無効...
-
Active Basic デバイスコンテ...
-
ExtTextOut
-
デバイスコンテキストとデバイ...
-
VC++のTextOutの再描画の仕方
-
画面がチカチカする
-
ハードコピーをプログラムから...
-
メモリデバイスコンテキスト&...
-
C++でBMP解析
-
C 多角形を半透明に塗る方法
-
領域を塗りつぶしたい
-
コントロール内の文字の背景色
-
GetPixelに使うHDCの作り方
-
丸いボタンの表示でCPU100%
おすすめ情報