VC6++(MFC使用なし)について質問です。


ダイアログにグループボックスを配置して
プログラムを実行したのですが、
グループボックスの内側に、背面に存在するアプリの表示がされてしまいます。

コントロールに対し指示(SetDialogItemなど)をだし
再描画すれば良いのだと思いますが、
結局方法が解りませんでした。

この問題を解決するための方法のアドバイスを下さい。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2010/09/28 11:35:30
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント100pt

http://sunafukin.jp/dannatti/software/vc/control/chap3.html


チェックボタンを可視にする(ラジオボタンも有効)

ShowWindow(GetDlgItem(hWnd, IDC_CHECK1), SW_SHOWNORMAL);


例は チェックボタンですが、こういうことですか?

非表示にする場合は SW_SHOWNORMALではなく SW_HIDE です。

id:harunoharuno

参考になるHPのご紹介ありがとうございます。

ただ残念ながら、教えていただいた方法では、

Show/Hideの設定はできるのですが、画面が更新されません。

一度ダイアログを背面に移動し、前面に表示しなおしたときに設定どおりに描画されるのですが、

この操作を行わなくても画面更新するにはどうしたら良いでしょうか?

InvalidateRect(hDlg,NULL,true);

UpdateWindow(hDlg);

などを試しているのですが、期待通り再描画できません。

アドバイスありがとうございました。

時間がなかったので結局グループボックスを消すことになりましたが、

教えていただいたサイトは大変参考になりました。

回答どうもありがとうございました。

2010/09/27 20:58:33

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません