C++ C++;WINAPI隐藏单选按钮未取消选中

C++ C++;WINAPI隐藏单选按钮未取消选中,c++,windows,winapi,C++,Windows,Winapi,我在Win32应用程序中有两个单选按钮。 想象一下这个场景: 我正在检查按钮1并立即用以下代码隐藏它: ShowWindow(RadioButtonTwo,SW_隐藏) 我现在正在检查第二个按钮,并立即将其隐藏起来。 现在我正在取消隐藏第一个,但它仍然处于选中状态。如何解决此问题?您可以使用消息向带有RadioButtonOne句柄的窗口发送消息,取消选中BST_状态如下: ::SendMessage( RadioButtonOne, BM_SETCHECK, BST_UNCHECKED, NU

我在Win32应用程序中有两个单选按钮。
想象一下这个场景:
我正在检查按钮1并立即用以下代码隐藏它:

ShowWindow(RadioButtonTwo,SW_隐藏)

我现在正在检查第二个按钮,并立即将其隐藏起来。 现在我正在取消隐藏第一个,但它仍然处于选中状态。如何解决此问题?

您可以使用消息向带有
RadioButtonOne
句柄的窗口发送消息,取消选中
BST_
状态如下:

::SendMessage( RadioButtonOne, BM_SETCHECK, BST_UNCHECKED, NULL );
或者,如果您有
CButton
MFC类,则可以将
BST_未选中的函数用作参数:

CButton btnTest;
btnTest.SetCheck( BST_UNCHECKED );

重要的是按钮是否开启了BS_AUTORADIOBUTTON样式,并与其兄弟姐妹一起生活在一个分组框中,这些细节在您的问题中并不清楚。当只有两个单选按钮时,隐藏一个单选按钮没有什么意义,你应该使用静态控件。我没有两个控件,我有一个groupbox,其中有两个单选按钮,我隐藏了另外两个单选按钮(数字3位于数字1的位置,数字4位于数字2的位置)。如果我按下按钮,我会隐藏1和2,显示3和4。这不是我想要的。。。我已经尝试过这种方法,但我只想在我点击数字2时取消选中它,并且隐藏的单选按钮在BM_GETCHECK上没有响应,所以我只能随机发送BM_SETCHECK,而不知道数字1已被选中。