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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コントロール内の文字の背景色
-
VBでFD、USBの有効・無効...
-
SetWindowRgn()関数について。
-
Win32APIにて、アイコンの情報...
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
グラフの交点の求め方(Excel)
-
フォントの大きさ
-
VBAのフォント変更(エクセルか...
-
メッセージボックスの選択ボタ...
-
コントロールの書式設定で、“コ...
-
メッセージボックスを大きくす...
-
検索の画面がでなくなってしま...
-
コンボボックス内の文字サイズ変更
-
フォームでPDFを表示させた...
-
Excelの上下を固定したい
-
他のウィンドウのボタンを自動...
-
閉図形の座標の配列が右回りか...
-
ダイアログ内コントロールの位...
-
ゲームでは結局どっちが良いの?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンテキスト依存とは?
-
ダイアログにビットマップを貼...
-
GetDC()とCreateCompatibleDC()
-
画面がチカチカする
-
C 多角形を半透明に塗る方法
-
ピクチャーコントロールのデバ...
-
Rectangleで、リソースが解放さ...
-
画像処理 ビットマップ ダブ...
-
ウインドウ内全体を一定時間で...
-
TextOutについて
-
VBでFD、USBの有効・無効...
-
メモリデバイスコンテキスト&...
-
ハードコピーをプログラムから...
-
VC++のTextOutの再描画の仕方
-
PrintScreenしたあとに画像を保...
-
SelectObjectについて
-
ダブルバッファの作り方
-
VC++でBitmapとText文字を表示...
-
Windowsプログラミング 画面描...
-
GetPixelに使うHDCの作り方
おすすめ情報