2008-09-16 30 views
2

Bir iletişim kutusunu başlatırken, formdaki radyo düğmelerinden birini seçmek istiyorum. Genel olarak CButtons, CComboBoxes, vb. Ile yaptığınız gibi Sınıf Sihirbazı'nı kullanarak bir Denetim değişkenini ilişkilendirmenin bir yolunu görmüyorum. Ayrıca, bir CRadioButton sınıfı bile mevcut değil.Program aracılığıyla bir MFC radyo düğmesi seçin

Birkaç radyo düğmesinden birini nasıl seçebilirim?

cevap

7

Radyo düğmeleri ve kontrol düğmeleri sadece düğmelerdir. Bir CButton denetimi kullanın ve GetCheck/SetCheck kullanın.

CButton* pButton = (CButton*)GetDlgItem(IDC_RADIOBUTTON); 
pButton->SetCheck(true); 
6

hile yaptı. Bu yöntemleri diyalog nesnesinde çağırdığınızdan ve radyo düğmesi nesnellerinden herhangi birini aradığınızdan emin olun.

+0

sonra, onun cevabını yukarı oy verin. – Roel

17

Kullanım CWnd::CheckRadioButton seçilen düğmeye kimliğini almak için bir grup halinde düğmesi ve CWnd::GetCheckedRadioButton seçmek ayarlamak için: mos söylediklerini Olsam, çalışmış aşağıdaki

+0

Kabul edilen cevap olmalı. ** NOT: ** 'Dialog->' ** ve 'RadioButton->' – sergiol

+0

'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '''() 'radyo düğmesi değeri birden çok kez atandığında çıkan' UpdateData' çağrısından çağrılır. – sergiol

0
void CMyDlg::DoDataExchange(CDataExchange* pDX) 
{ 
    ... 
    DDX_Radio(pDX, IDC_RADIO1, m_Radio); 
    ... 
} 

ama aynı şey Sihirbazı Bu tek astar kullanabilirsiniz

0

üretir geçerli:

::SendMessage(GetDlgItem(IDC_RADIO1)->m_hWnd, BM_SETCHECK, BST_CHECKED, NULL);