掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ラジオボタンのフォーカス移動とピクチャーコントロールの色変更 (ID:62323)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
はじめまして。2つほど教えて下さい。 ダイアログAとダイアログBを持つプログラムを作りました。 ダイアログAはラジオボタン1〜3(IDC_RADIO1〜3)からなるグループとその他のコントロールを持っています。 またラジオボタン1〜3のグループは CButton m_RdoBtn; という変数を持っており、ダイアログAはダイアログBで CDialogA m_DialogA; という変数で定義されています。 ダイアログAのPreTranslateMessage関数で、フォーカスがラジオボタン1〜3にある時にダイアログBにフォーカスを移し、ダイアログBで条件が満たされた時またダイアログAの選択されたラジオボタンにフォーカスを返すという処理がしたいのですが上手くいきません。 ダイアログAでラジオボタンのフォーカスの取得を確認 BOOL CDialogA::PreTranslateMessage(MSG* pMsg) { if (GetFocus() == GetDlgItem(IDC_RADIO1) || GetFocus() == GetDlgItem(IDC_RADIO2) || GetFocus() == GetDlgItem(IDC_RADIO3)) { // フォーカスをダイアログBに移動させる処理 } } ダイアログBからダイアログAのラジオボタンにフォーカスを移動する関数 { switch( m_DialogA.m_RdoBtn.GetCheck() ) { case 0 : m_DialogA.GetDlgItem(IDC_RADIO1)->SetFocus(); break; case 1 : m_DialogA.GetDlgItem(IDC_RADIO2)->SetFocus(); break; case 2 : m_DialogA.GetDlgItem(IDC_RADIO3)->SetFocus(); break; } } 無理やり処理するとすれば以上のような形になると思いますが、今後ダイアログ2にフォーカスを移す条件が他のコントロールがフォーカスを持った時になる可能性があるのでもっと簡潔で応用のきく処理を使わなければなりません。 それともう一つ、 ピクチャーコントロールの枠の色(プロパティのColor)をプログラム中で変更する方法を教えて下さい。 もう一つスレを立てるのも気がひけるのでここで質問させていただきます。 プログラミング会社に入って3ヶ月の初心者ですのでわかりやすく教えていただければ嬉しいです。 OSはXPで使っているのは.NET2000です。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.