22.VC(custom)-radio buttonの使い方

3984 ワード

まずダイアログボックスにradio buttonを2つ追加し,それぞれRadio 1とRadio 2である.
質問1:ラジオ1またはラジオ2をデフォルトで選択するにはどうすればいいですか?どのようにしてどれが選ばれたか知っていますか?肝心なのは、「デフォルト」はOnInitDialog()にすればいいことです.3つの方法を選択できます.1つ目は、
((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);// 
((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(FALSE);// 
((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck(); 1 ,0 

2つ目:
congtrol型変数(サブクラス化)を関連付けて、ctrl+W(classwizardを開く)をよくして、Member Variablesを点けて、あれ?どうしてIDCがないの?RADIO 1というID?グループがなかったのか.radio buttonは通常グループで使用されるので、グループの中で反発します.キャンセルして、ダイアログボックスのリソースパネルに戻り、属性を右クリックしてGroupを選択すると、Radio 1とRadio 2がグループになります(どのように彼らがグループであることを知っていますか?後述).このとき、Radio 1にcongtrol型変数m_を追加することができるctrlRadio 1です.次のようになります.
m_ctrlRadio1.SetCheck(TRUE);

GetCheck()を使用してステータスを取得することもできます.
3つ目:int型変数を関連付ける(同じようにグループ化する必要がある)m_nRadio 1ダイアログボックスのコンストラクション関数を開くと、m_nRadio1 = -1;m_nRadio 1別代入-1はどちらも選ばれていないことを示す.-1を0に変更すると、Radio 1のデフォルトが選択されていることがわかります.このように、m_nRadio 1の値が1で2番目に選ばれました(ここでも同じ問題がありますが、どれが1番目ですか?どれが2番目ですか?)取得状態は簡単であり、UpdateData(TRUE)後にm_を判断するnRadio 1の値でいいです.質問2:マルチグループの使用方法複数のグループと1つのグループが同じように使用され、どちらがどのグループなのかを明らかにすればよい.ダイアログボックスにRadio 3とRadio 4を追加します.簡単に、まずこれらのRadio Buttonの順序を並べます(これは、例えば、あなたのコントロールのセットにRadio 1、Radio 2、Radio 3がある場合、それらのTABの順序をそれぞれ1,2,3に設定し、Radio 1のGroup属性をTrueに設定する必要があります.このように、Radio 1を選択するとそれに関連する変数は0であり、Radio 2を選択するとそれに関連する変数は1であり、このようにします).彼らのTAB ORDERを並べます.ダイアログボックスのリソースパネルでCtrl+Dをクリックし、自分の理想の順序でマウスでクリックすればいいです.Radio 1、Radio 2、Radio 3、Radio 4はそれぞれ1、2、3、4であると仮定してもよい.Radio 1とRadio 3の両方がGroup属性を選択すると、1、2は1組、3、4は別のグループになります.グループ化の原則はGroup属性を選択したものから、次のGroup属性を選択するまで始まります.Ctrl+Dを使って、Radio 1、Radio 2、Radio 3、Radio 4をそれぞれ1、3、2、4にしてもいいです.では、Radio 1とRadio 3は1組です.m_nRadio 1=1であり、このときRadio 2ではなくRadio 3が選ばれる.グループを分けたら別々に使いましょう.うん、マウスクリックイベントを追加するかもしれません.とても簡単です.ラジオボタンコントロール(Radio Button)の使用キーワード:ラジオボタンコントロールの使用方法1、ラジオボタンをグループ化する:各グループの最初のラジオボタン設定属性:Group,Tabstop,Auto;残りのボタンはプロパティTabstop,Autoを設定します.例えば、Radio 1、Radio 2、Radio 3は一組で、Radio 4、Radio 5は一組にRadio 1属性を設定する:Group、Tabstop、AutoはRadio 2属性を設定する:Tabstop、AutoはRadio 3属性を設定する:Tabstop、AutoはRadio 4属性を設定する:Group、Tabstop、AutoはRadio 5属性を設定する:Tabstop、Auto 2、ClassWizardをラジオコントロールとして変数を定義し、各組に1つしか定義できない.例:m_Radio1、m_Radio4. 三、ClassWizardで各ラジオボタンのクリックメッセージ関数を生成し、加えて、内容:void CWEditView::OnRadio 1(){m_Radio 1=0;//最初のラジオボタンが選択された}void CWEditView::OnRadio 2(){m_Radio 1=1;//2番目のラジオボタンが選択された}void CWEditView::OnRadio 3(){m_Radio 1=2;//3番目のラジオボタンが選択された}void CWEditView::OnRadio 4(){m_Radio 4=0;//4番目のラジオボタンが選択されている}void CWEditView::OnRadio 5(){m_Radio 4=1;//5番目のラジオボタンが選択されている}4、デフォルトボタンの設定:コントロール変数を定義するとClassWizardはコンストラクション関数で変数の初期値を-1に設定し、他の値に変更するだけでよい.例://{{AFX_DATA_INIT(C u n i t BlockTypeFlankPublicAdd)m_Radio 1=0;//初期時に最初のラジオボタンがm_Radio 4=0、//初期時に4番目のラジオボタンが/}}
//Radio Button使用方法1:工程にコントロールを追加した後、直接コントロールのClickイベントに必要なコードを書き込めば使用方法2:1.ダイアログベースのアプリケーションを作成し、その中に3つのRadio Buttonを加え、IDはそれぞれ:IDC_である.RADIO1,IDC_RADIO2,IDC_RADIO3         2.コントロールの初期化:ダイアログクラスのOnInitDialogにコードを追加する:CheckRadioButton(IDC_RADIO 1,IDC_RADIO 3,IDC_RADIO 3);//1番目のパラメータがグループの1番目のラジオボタンのID//2番目のパラメータがグループの最後のラジオボタンのID//3番目のパラメータは、そのグループで選択するラジオボタンのID 3である.Buttonコントロールを追加し、Clickイベントコード:int iRadioButton;        iRadioButton="GetCheckedRadioButton"(IDC_RADIO1,IDC_RADIO3);     if(iRadioButton==IDC_RADIO1)     MessageBox("Click   Button1");     if(iRadioButton==IDC_RADIO2)     MessageBox("Click   Button2");     if(iRadioButton==IDC_RADIO3)     MessageBox("Click   Button3"); その他の説明:Radio Buttonをグループ化して使用する場合は、コントロールを追加するときにリソース番号が連続することを保証し、最初のRadio Buttonの属性でGroupが選択するだけでよい.これにより、このコントロールのセットにメンバー変数の使用例を追加できます:1.ダイアログベースのアプリケーションを作成し、3つのRadio Buttonを追加し、1つのButtonで最初のRadio ButtonプロパティのGroup 2を選択します.ButtonのClickイベントにコードを追加する:UpdateData(TRUE);    if(m_radio==0)     MessageBox("0");     if(m_radio==1)     MessageBox("1");     if   (m_radio==2)     MessageBox("2");     UpdateData(false);