Pregunta

Cuando inicializo un cuadro de diálogo, me gustaría seleccionar uno de los botones de opción del formulario.No veo una manera de asociar una variable de Control usando el Asistente de clases, como lo haría normalmente con CButtons, CComboBoxes, etc.

Además, ni siquiera le gusta que exista una clase CRadioButton.

¿Cómo puedo seleccionar uno de los varios botones de radio?

¿Fue útil?

Solución

Los botones de radio y los botones de verificación son solo botones.Usar una CButton control y uso GetCheck/SetCheck.

Otros consejos

Usar CWnd::CheckRadioButton para configurar seleccione un botón en un grupo y CWnd::GetCheckedRadioButton para recuperar el ID del botón seleccionado.Asegúrese de llamar a estos métodos en su objeto de diálogo y no en ninguno de los objetos del botón de opción.

Siguiendo con lo que dijo mos, lo siguiente funcionó:

CButton* pButton = (CButton*)GetDlgItem(IDC_RADIOBUTTON);
pButton->SetCheck(true);
void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
  ...
  DDX_Radio(pDX, IDC_RADIO1, m_Radio);
  ...
}

pero es lo mismo que genera Wizard

Puedes usar esta frase ingeniosa:

::SendMessage(GetDlgItem(IDC_RADIO1)->m_hWnd, BM_SETCHECK, BST_CHECKED, NULL);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top