0
我只是學習製作對話框與MFC在Visual Studio 2010GetCheck()爲檢查按鈕工作,但不是單選按鈕?
從我所看到的on msdn's website,該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
什麼給?
'm_radio1'是什麼類型? – chris
我不太確定它是什麼類型,但要創建m_radio1我按Ctrl +雙擊單選按鈕並將「變量名稱:」設置爲m_radio1。 Idk什麼類型,使默認情況下,但。 – xcdemon05
Visual Studio帶回了MFC類嚮導。如果按[Ctrl] + [Shift] + X,它會彈出一個包含所需信息的對話框。從_Class name_組合框中選擇對話框/視圖類,然後單擊_Member Variables_選項卡。這應該可以幫助你識別'm_radio1'的類型。與你的問題無關,我不建議使用MFC啓動Windows開發。通過自動生成的代碼涉水無法提供您所需的洞察力。實質上,如果你從MFC開始,你將跳過一個強制性的學習體驗:普通的香草Win32 API編程。 – IInspectable