日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MFC复选框CheckBox使用

發(fā)布時間:2025/3/12 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MFC复选框CheckBox使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MFC中復(fù)選框checkbox控件,至少有三種方法對其進(jìn)行操作,他們是利用Cbutton成員函數(shù)GetCheck和SetCheck,第二種是利用CWnd成員函數(shù)IsDlgButtonChecked,最后就是把checkbox復(fù)選框控件與BOOL型變量相關(guān)聯(lián)。

一、用CButton成員函數(shù)

MFC中復(fù)選框CheckBox的基類是CButton。那么就可以用GetDlgItem來獲取復(fù)選框的指針,再用Cbutton成員函數(shù)GetCheck和SetCheck來獲取和設(shè)置選中狀態(tài)。

得到復(fù)選框狀態(tài)的函數(shù):

CButton* pBtn = (CButton*)GetDlgItem(IDC_CHECK_MIXI);
int state = pBtn->GetCheck();

當(dāng)state == 0時表示該復(fù)選框沒有被選中;
當(dāng)state == 1時表示該復(fù)選框被選中;
當(dāng)state == 2時表示不確定(applies only if the button has the BS_3STATE or BS_AUTO3STATE style);

設(shè)置復(fù)選框狀態(tài)的函數(shù):

CButton* pBtn = (CButton*)GetDlgItem(IDC_CHECK_MIXI);
pBtn->SetCheck(1);

SetCheck(1)表示設(shè)置復(fù)選框?yàn)椤斑x中”狀態(tài);
SetCheck(0)表示設(shè)置復(fù)選框?yàn)椤拔催x中”狀態(tài);
SetCheck(2)設(shè)置復(fù)選框?yàn)椴淮_定狀態(tài)(This value can be used only if the button has the BS_3STATE or BS_AUTO3STATE style.);

二、用CWnd成員函數(shù)

CButton是從CWnd繼承來,那么就可以用IsDlgButtonChecked來獲取和設(shè)置check box的狀態(tài)。另外MSDN上海說明IsDlgButtonChecked還可以用于單選框Radio button。

UINT IsDlgButtonChecked( int nIDButton ) const;

nIDButton為控件ID

函數(shù)功能:
該函數(shù)可以確定某個按鈕控制是否有選中標(biāo)志,或者三態(tài)按鈕控制是否為灰色的、選中的、或兩者都不是。

返回值:
使用BS_AUTOCHECKBOX、BS_AUTORADIOBUTTON、BS_AUTO3STATE、BS_CHECKBOX、BS_RADIOBUTION或BS_3STATE樣式創(chuàng)建的按鈕的返回值可以是如下值之一:
BST_CHECKED:表示按鈕被選中。
BST_INDETERMINATE:表示按鈕是灰色的,即為不確定狀態(tài)(只有具有BS_3STATE或BS_AUTO3STATE樣式的按鈕才使用該值)。
BST_UNCHECKED:表示該按鈕未選中(unckecked)。如果該按鈕用其他任何樣式,那么返回值為零。

if ( BST_CHECKED == IsDlgButtonChecked( IDC_CHECK1 ) )
{
//IDC_CHECK1是CheckBox控件。
//check box 被選中執(zhí)行相關(guān)動作
}

三、關(guān)聯(lián)BOOL型成員變量

復(fù)選框CheckBox控件添加一個控件類型的BOOL值變量如:BOOL m_delete;

void calcuArea::DoDataExchange (CDataExchange *pDX)
{

//此代碼利用類向?qū)Э梢宰詣由?br /> CAcUiDialog::DoDataExchange (pDX) ;
DDX_Check(pDX, IDC_CHECK1, m_delete);
}

總結(jié)

以上是生活随笔為你收集整理的MFC复选框CheckBox使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。