我只是在学习如何在 Visual Studio 2010 中使用 MFC 制作对话框。
从我在 msdn 网站上看到的内容来看,GetCheck() 函数对于复选框和单选按钮的工作方式应该相同。
基本上我在两个滑块旁边有两个单选按钮。如果一个单选按钮打开,则该滑块被禁用,如果另一个单选按钮打开,则另一个滑块被禁用。
当我为复选框切换单选按钮时,这是我使用的代码:
void Cstring_copyierDlg::OnBnClickedSld1chk()
{
UINT nCheck = m_slide1check.GetCheck();
if(nCheck == BST_CHECKED){
m_slider.EnableWindow(FALSE);
}
else{
m_slider.EnableWindow(TRUE);
}
}
void Cstring_copyierDlg::OnBnClickedSld2chk()
{
UINT nCheck = m_slide2check.GetCheck();
if(nCheck == BST_CHECKED){
m_slider2.EnableWindow(FALSE);
}
else{
m_slider2.EnableWindow(TRUE);
}
}
这段代码运行良好。但是当我关闭单选按钮的复选框时,这是我使用的代码:
void Cstring_copyierDlg::OnBnClickedRad1()
{
UINT nCheck = m_radio1.GetCheck();
if(nCheck == BST_CHECKED){
m_slider.EnableWindow(FALSE);
}
else{
m_slider.EnableWindow(TRUE);
}
}
void Cstring_copyierDlg::OnBnClickedRad2()
{
UINT nCheck = m_radio2.GetCheck();
if(nCheck == BST_CHECKED){
m_slider2.EnableWindow(FALSE);
}
else{
m_slider2.EnableWindow(TRUE);
}
}
但是,第二段代码在编译时返回以下错误:
error C2228: left of '.GetCheck' must have class/struct/union
是什么赋予了?