我有一个单选按钮,它是 CDialog 中的 CButton。当用户单击单选按钮时,将OnClickedRadioButton
调用该函数。
在里面OnClickedRadioButton
我通过调用这个函数来切换按钮:
void toggleButton(CButton& theButton)
{
switch(theButton.GetCheck())
{
case BST_UNCHECKED:
{
theButton.SetCheck(BST_CHECKED);
break;
}
case BST_CHECKED:
{
theButton.SetCheck(BST_UNCHECKED);
break;
}
default:
{
theButton.SetCheck(BST_UNCHECKED);
}
}
}
当我编译和运行程序时: (i) 如果选中单选按钮,我可以单击它来清除它。(ii) 如果未选中单选按钮,我单击它并且没有任何反应。但是,如果我单击不同的程序(即 Visual Studio),然后单击 CDialog,则单选按钮会选中。
我已经查看并尝试了函数Cwnd::UpdateDialogControls
和Cwnd::UpdateData
,但我无法让这些来解决我的问题。