• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:子Windowの描画)

子Windowの描画問題について

このQ&Aのポイント
  • CでWindowプログラミングをしている際に、子Windowが作成されたときに背景が透過されてしまう問題が発生しています。子Window内のコントロールは正常に表示されますが、背景が透過した状態で描画されてしまいます。
  • また、子Windowの処理を別ファイルに分けて実行した際に問題が発生しました。物理ファイルを分けたことにより何か問題が発生していると考えていますが、具体的な原因は分かりません。
  • WindowプログラミングやCに詳しい方から、この問題の原因や対処方法について助言をいただきたいです。足りない情報がある場合は指摘していただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

ソースファイル別けただけで…というのはあんまり考えにくいのですが……。 # スコープ関係でしょうかねぇ。HINSTANCEとか。 別けたファイルとやらのグローバル変数とかどうなっているんでしょう? ウィンドウクラスの登録はどうなっていますか? >子Windowが作成されたときに、子Window内のコントロールが何もない部分に子Windowの後ろの背景(デスクトップや親Window)が描画されてしまうということです。 ってコトだと、ウィンドウクラスの登録の際に背景色の設定がおかしい(hbrBackgroundの設定)か、透過設定になっていたりすると発生することがありますが。 # あと、WM_ERASEBKGNDの処理がおかしい場合。

noname#207398
質問者

お礼

回答というより、解答をありがとうございます。 ファイルを分けた事が原因と決め込んでいましたが、指摘いただいた通りウィンドウクラスの登録の問題でした。他のウィンドウクラスを追加したときに、いつの間にか子WindowのhbrBackgroundをNULL_BRUSHに変えてしまっていました。元に戻したら解決しました。 完全に見当違いな箇所を疑っていて、おそらく一人では解決できなかったと思います。 本当に助かりました。

関連するQ&A