Frage

Wenn ich einen Dialog zu initialisieren, ich möchte einen der Radio-Buttons auf dem Formular auszuwählen. Ich sehe keinen Weg, um eine Regelgröße mit den Klassen-Assistenten zu verknüpfen, wie Sie es normalerweise tun mit CButtons, CComboBoxes, etc ...

Darüber hinaus ist es nicht wie eine CRadioButton Klasse selbst existiert.

Wie kann ich eine von mehreren Radiobuttons wählen?

War es hilfreich?

Lösung

Optionsfelder und Kontrolltasten sind nur Schaltflächen. Verwenden Sie eine CButton Steuerung und verwenden GetCheck / SetCheck.

Andere Tipps

Verwenden Sie CWnd :: CheckRadioButton wählen Sie eine Taste in einer Gruppe zu setzen und CWnd :: GetCheckedRadioButton die ID der ausgewählten Taste abgerufen werden. Achten Sie darauf, diese Methoden auf dem Dialog Objekt aufzurufen, und keine der Radiobutton-Objekte.

Gehen auf, was mos sagte, die gearbeitet folgenden tat der Trick:

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

, aber es ist das gleiche Wizard generiert

Sie können mit diesen Einzeiler:

::SendMessage(GetDlgItem(IDC_RADIO1)->m_hWnd, BM_SETCHECK, BST_CHECKED, NULL);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top