掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CStaticの背景透明化 (ID:68353)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Visual Studio2005でXP/Vistaで開発しています。 # FAQっぽいネタで恐縮です。 レイヤーウィンドウとして作った透明なダイアログの上に、CStaticクラス を継承した MyStaticクラスを作りダイアログクラス上のコードからMyStatic クラスに向かって SetWindowText() しています。 背景を透明にする為に、myStaticクラス内にて、 HBRUSH MyStatic::CtlColor(CDC* pDC, UINT nCtlColor) { if( nCtlColor == MY_RESOURCE_ID ){ pDC->SetBkMode( TRANSPARENT ); } return (HBRUSH)::GetStockObject( NULL_BRUSH ); } として透明化しています。背景がうまく透明にはなっているのですが 文字列を書き換えると前のテキストが消されず前のテキストの上に 描画されてしまい困っています。 ブラシに色を設定し、ある色で背景色を塗る場合はうまく再描画されて いるのですが、NULL_BRUSHを返すとうまくテキストが再描画されません。 解決法をご教授願えませんでしょうか。 宜しくお願いいたします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.