莆田cms建站模板seo思維
mfc是c++的一個(gè)框架,可謂是經(jīng)久不衰。最近博主遇到一個(gè)問題,就是單選按鈕點(diǎn)擊自己可以設(shè)置可選和不可選,貌似類似復(fù)選框一樣,但領(lǐng)導(dǎo)分發(fā)的任務(wù)上要求的是用單選按鈕實(shí)現(xiàn)復(fù)選框這種類似功能,實(shí)現(xiàn)效果類似如下圖:
其中第一行按鈕為1組,第二行按鈕為1組
問題解決方案
對(duì)于每個(gè)按鈕設(shè)置一個(gè)flag變量,用數(shù)組放進(jìn)去,如下面代碼
bool m_flag[5];
for(int i = 1;i<5;i++)m_flag[i] = false;
單選按鈕里單擊事件只需要這樣寫就行了
void Cnormal3Dlg::OnBnClickedRadio1()
{// TODO: 在此添加控件通知處理程序代碼(CBUtton*)GetDlgITem()IDC_RADIO1->SetCheck(!m_Flag[1]); //m_flag[1] = !m_flag[1];}
總結(jié)
如果在mfc中設(shè)置單選按鈕點(diǎn)擊自身可以實(shí)現(xiàn)可選與不可選,那么只需要設(shè)置一個(gè)flag數(shù)組變量,每次單擊觸發(fā)時(shí),將其反制一下就行了。