gpt4 book ai didi

mfc - MFC中的单选按钮选择更改

转载 作者:行者123 更新时间:2023-12-04 02:21:28 26 4
gpt4 key购买 nike

我使用 MFC 创建了一个对话框,它有 5 个单选按钮。我想在其他一些单选按钮被选中时收到通知。

现在,每当单击任何单选按钮时,我都会收到通知。但只有当单选按钮发生变化时,我才需要得到这些通知。

ON_BN_CLICKED(IDC_RADIO1, &CMyDlg::OnRadioButtonClicked)
ON_BN_CLICKED(IDC_RADIO1, &CMyDlg::OnRadioButtonClicked)
ON_BN_CLICKED(IDC_RADIO1, &CMyDlg::OnRadioButtonClicked)
ON_BN_CLICKED(IDC_RADIO1, &CMyDlg::OnRadioButtonClicked)
ON_BN_CLICKED(IDC_RADIO1, &CMyDlg::OnRadioButtonClicked)

谢谢

最佳答案

如果我对您的问题的理解正确,您想知道某个特定单选按钮 ( IDC_RADIO1) 的选中状态何时发生变化。

然后将此状态作为成员变量存储在您的对话框类中。 int m_radio1Checked;根据需要在构造函数中初始化为 0 或 1,并使用 SetCheckRadioButton()适本地在你的OnInitDialog() .

然后处理消息映射中每个单选按钮的点击:

ON_BN_CLICKED(IDC_RADIO1, &CMyDlg::OnRadioButtonClicked)
ON_BN_CLICKED(IDC_RADIO2, &CMyDlg::OnRadioButtonClicked)
ON_BN_CLICKED(IDC_RADIO3, &CMyDlg::OnRadioButtonClicked)
ON_BN_CLICKED(IDC_RADIO4, &CMyDlg::OnRadioButtonClicked)
ON_BN_CLICKED(IDC_RADIO5, &CMyDlg::OnRadioButtonClicked)

并在处理程序中检查更改。

void CMyDlg::OnRadioButtonClicked()
{
int oldState = m_radio1Checked;
int newState = GetDlgItem(IDC_RADIO1)->GetChecked();
m_radio1Checked = newState;
if (oldState != newState)
// do something ...
}

关于mfc - MFC中的单选按钮选择更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10893425/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com