Программно выберите переключатель MFC - PullRequest
3 голосов
/ 16 сентября 2008

Когда я инициализирую диалог, я бы хотел выбрать одну из переключателей в форме. Я не вижу способа связать переменную Control с помощью мастера классов, как вы обычно делаете с CButtons, CComboBoxes и т. Д ...

Кроме того, ему не нравится, что класс CRadioButton даже существует.

Как выбрать одну из нескольких радиокнопок?

Ответы [ 5 ]

18 голосов
/ 16 сентября 2008

Используйте CWnd :: CheckRadioButton для установки выбора одной кнопки в группе и CWnd :: GetCheckedRadioButton для получения идентификатора выбранной кнопки. Обязательно вызывайте эти методы для своего объекта диалога, а не для любого объекта переключателя.

8 голосов
/ 16 сентября 2008

Радио кнопки и кнопки проверки - просто кнопки. Используйте CButton элемент управления и используйте GetCheck / SetCheck.

7 голосов
/ 16 сентября 2008

Исходя из того, что сказал Мос, сработало следующее:

CButton* pButton = (CButton*)GetDlgItem(IDC_RADIOBUTTON);
pButton->SetCheck(true);
0 голосов
/ 07 сентября 2017

Вы можете использовать этот однострочник:

::SendMessage(GetDlgItem(IDC_RADIO1)->m_hWnd, BM_SETCHECK, BST_CHECKED, NULL);
0 голосов
/ 16 февраля 2012
void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
  ...
  DDX_Radio(pDX, IDC_RADIO1, m_Radio);
  ...
}

но это то же самое, что генерирует Волшебник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...