複選框控件的用法

---------------------------------------------------2016.09.13------------------------------------------------------------------
-----------------------------------------------複選框控件的用法--------------------------------------------------
有三種方法對複選框控件進行操作:
第一種:利用Cbutton成員函數GetCheck和SetCheck
第二種:利用CWnd成員函數IsDlgButtonChecked
第三種:把複選框控件與BOOL型變量相關聯
-----------------------------------------------------------------------------------------
方法一:
-----------
用GetDlgItem獲取複選框的指針,再用GetCheck和SetCheck來獲取和設置狀態。
獲取複選框狀態:
CButton* pBtn = (CButton*)GetDlgItem(IDC_CHECK_MIXI);
 int state = pBtn->GetCheck();
當state ==0時,表示該複選框未被選中;
當state ==1時,表示該複選框被選中。
當state ==2時,表示不確定
設置複選框狀態:
CButton* pBtn = (CButton*)GetDlgItem(IDC_CHECK_MIXI);
pBtn->SetCheck(1);
SetCheck(0)表示設置複選框為未選中狀態;
SetCheck(1)表示設置複選框為選中狀態;
SetCheck(1)表示設置複選框為不確定狀態。
方法二:
---------
IsDlgButtonChecked可設置和獲取複選框控件check box的狀態和單選框控件Radio button的狀態。
函數定義:
UNIT IsDlgButtonChecked(int nIDButton) const;
可確定該按鈕控制是否有選中標誌,或三態按鈕控制是否為灰色的、選中的、或其他。
BST_CHECKED:表示按鈕被選中
 BST_INDETERMINATE:表示按鈕是灰色的,即為不確定狀態。
 BST_UNCHECKED:表示按鈕未被選中。
if ( BST_CHECKED == IsDlgButtonChecked( IDC_CHECK1 ) )
 {
//
 }
方法三:
----------
複選框控件添加一個控件類型的BOOL值變量
void calcuArea::DoDataExchange (CDataExchange *pDX)
 {
 
 CAcUiDialog::DoDataExchange (pDX) ;
 DDX_Check(pDX, IDC_CHECK1, m_delete);
 }

------------------------------------------------------------------------------------------------------------
子對話框調用父對話框
 CParentDlg *pParent;
 pParent=(CParentDlg *)GetParent();
-------------------------------------------------

CWnd * pCWnd ;//獲得窗口對象指針;
    pCWnd=FromHandle(Handle);
    HWND Handle;
    Handle=GetSafeHwnd(pCWnd);

------------------------------------------------
可以通過GetParent函數獲取對話框父窗口指針,但該函數返回的是CWnd類型的指針,可以進行強制轉換。
--------------------------------------------------------------------------------------------
--------------------------------------2016.09.17------------------------------------------------------
啟用和禁用控件可調用CWnd::EnableWindow 函數。
 
BOOL EnableWindow(BOOL bEnable = TRUE);
 
判斷控件是否可用可以調用 CWnd::IsWindowEnable函數
 
BOOL IsWindowEnable();
 
 
 
禁用控件
 
CWnd *pWnd = GetDlgItem(IDC_EDIT1);
pWnd->EnableWindow(FALSE);

 
啟用控件
 
CWnd *pWnd = GetDlgItem(IDC_EDIT1);
 
pWnd->EnableWindow(TRUE);
---------------------------------------------------------------------------------------------------------------


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值