複選框控件的用法
作者:互联网
---------------------------------------------------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);
---------------------------------------------------------------------------------------------------------------
标签:控件,選中,狀態,選框,函數,用法,CWnd 来源: https://blog.csdn.net/u014626607/article/details/98883068