Visual Studio 2010 で MFC を使用してダイアログ ボックスを作成する方法を学んでいます。
msdn の Web サイトで確認できることから、GetCheck() 関数はチェック ボックスとラジオ ボタンの両方で同じように機能するはずです。
基本的に、2 つのスライダーの横に 2 つのラジオ ボタンがあります。一方のラジオ ボタンがオンの場合、そのスライダーは無効になり、もう一方のラジオ ボタンがオンの場合、もう一方のスライダーは無効になります。
チェックボックス用のラジオボタンを切り替えたとき、これは私が使用したコードでした:
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);
}
}
ただし、コードの 2 番目の部分は、コンパイル時に次のエラーを返します。
error C2228: left of '.GetCheck' must have class/struct/union
何を与える?