CHECK BOX 使用

      

BOOL DlgSetLightLevel::OnInitDialog()
{
CDialog::OnInitDialog();
CString strText;
int i;
m_ComLightLevel.ResetContent();
for ( i = 0 ; i <=31 ; i ++ )
{
strText.Format(_T("%d") , i);
m_ComLightLevel.AddString(strText);
}
m_ComLightLevel.SelectString(-1, strText);

if ( m_light->m_IsCheck )//m_light 是外面闯过来的变量;如果CHECK BOX是选中
{
m_ComLightLevel.EnableWindow( FALSE );
m_light->m_lingleve = 32;
( ( CButton* )GetDlgItem( IDC_CHECK_ISGUANMING ) )->SetCheck( BST_CHECKED );//把CHECK BOX设为选中状态;
}

m_ComLightLevel.SetCurSel( m_light->m_lingleve );

return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}

CHECK BOX 的操作:选中和不选中;

void DlgSetLightLevel::OnBnClickedCheckIsguanming()
{
if ( ( ( CButton* )GetDlgItem( IDC_CHECK_ISGUANMING ) )->GetCheck() == BST_CHECKED )//如果选中的话,
{
m_ComLightLevel.EnableWindow( FALSE );
m_light->m_lingleve = 32 ;
m_light->m_IsCheck = TRUE ;
}
else//如果不选中的话;
{
m_ComLightLevel.EnableWindow( TRUE );
m_light->m_IsCheck = FALSE ;
CString strtemp;
GetDlgItemText ( IDC_COMBO_LIGHT , strtemp ) ;//获取下来框的值,因为不确定有没有对下拉框的值去选中,如果每有去选中,这里就要获取,不获取的话,

                          m_light->m_lingleve的值还是以前的值,不是下拉框的值。
m_light->m_lingleve = atoi( strtemp );
}

}

接下来就要就下拉框的值进行获取;

void DlgSetLightLevel::OnCbnSelchangeCombo1()//这个是下拉框相应函数;
{
m_ComLightLevel.GetWindowText( m_StrLight );
m_light->m_lingleve = atoi( m_StrLight.GetBuffer() );
}

原文地址:https://www.cnblogs.com/chenzuoyou/p/3116804.html