Связывание 2 флажков на другой странице в приложении на основе диалогового окна MFC - PullRequest
0 голосов
/ 27 сентября 2019

Я сделал 1 единственный диалог с 2 различными графическими интерфейсами, и их можно выбрать с помощью вкладок.Каждый графический интерфейс имеет много флажков.Некоторые из флажков связаны между собой, так что когда установлен 1, другой будет автоматически установлен.Когда два связанных флажка находятся на том же графическом интерфейсе, я могу это сделать.Но когда они на разных графических интерфейсах, у меня проблемы.Можно ли связать 2 флажка на разных графических интерфейсах?

Так я связал 2 флажка на одном графическом интерфейсе.Когда флажок 1 установлен, флажок 2 также станет установленным.

void ProjectName::OnBnClickedCheckBox1()
{
    bool x = ((CButton*)GetDlgItem(IDC_CheckBox1))->GetCheck();
    ((CButton *)GetDlgItem(IDC_CheckBox2))->SetCheck(x);
}

Но это не работает, когда другой флажок установлен на другом графическом интерфейсе.Есть ли способ, которым я могу вызвать флажок (например, IDC_CheckBox3), который находится на другом графическом интерфейсе на этом .cpp этого графического интерфейса?Или есть ли другой способ, которым я могу это сделать?

Заранее спасибо!

1 Ответ

0 голосов
/ 27 сентября 2019

Вы можете использовать параметры / переменные для передачи значений в другую вкладку.

, например, для Tab1 -> checkbox1 -> (сохранить значение этого флажка, скажем, в m_check1)

В Tab2 выдолжна иметь другую переменную m_check1_val, которая будет содержать значение для Checkbox1.

, как только вы нажмете tab2, вы должны инициализировать Tab2 -> m_check1_val.

, а затем вы можете использовать m_check1_val для установки значенияфлажка в Tab2

...