VC check box 的用法

在界面设计中,我们经常会用到Check Box这个控件,Check Box 的使用方法与Radio Button 的用法相似,但比它要简单得多。

一、设定Check Box为 选中状态

((CButton*)GetDlgItem(ID号))->SetCheck(TRUE);

(SetCheck(FALSE)) 为不选中,如果想初始化为选中状态,则在InitDlg函数中加入下面这段语句。

( (CButton*)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);

二、检查Check Box是否为选中状态

可使用GetCheck()这个函数,如下:

if(BST_CHECKED==((CButton*)GetDlgItem(IDC_RADIO1))->GetCheck()) 判断是否选中;

if(BST_UNCHECKED==((CButton*)GetDlgItem(IDC_RADIO3))->GetCheck()) 判断是否未选中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在VC ListControl控件中添加check box,你可以使用自定义绘制来实现。下面是一个简单的示例代码: 1. 首先,在资源编辑器中创建一个List Control控件。 2. 在对话框类的头文件中添加以下成员变量和消息映射: ```cpp // 头文件 class CMyDialog : public CDialogEx { // ... CListCtrl m_list; CImageList m_imageList; // ... afx_msg void OnLvnItemchangedList(NMHDR* pNMHDR, LRESULT* pResult); DECLARE_MESSAGE_MAP() }; ``` 3. 在OnInitDialog()函数中添加以下代码: ```cpp // 初始化 List Control m_list.SubclassDlgItem(IDC_LIST, this); m_list.SetExtendedStyle(LVS_EX_CHECKBOXES); // 创建图像列表以容纳 checkbox 图标 m_imageList.Create(16, 16, ILC_MASK | ILC_COLOR, 1, 1); HICON hIcon = (HICON)LoadImage(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_CHECKBOX), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); m_imageList.Add(hIcon); m_list.SetImageList(&m_imageList, LVSIL_SMALL); ``` 4. 在消息映射中添加以下代码: ```cpp // 消息映射 BEGIN_MESSAGE_MAP(CMyDialog, CDialogEx) // ... ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST, &CMyDialog::OnLvnItemchangedList) END_MESSAGE_MAP() ``` 5. 实现OnLvnItemchangedList()函数: ```cpp void CMyDialog::OnLvnItemchangedList(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = reinterpret_cast<NM_LISTVIEW*>(pNMHDR); // 确定是否选中了某个项目 if ((pNMListView->uChanged & LVIF_STATE) && (pNMListView->uNewState & LVIS_STATEIMAGEMASK)) { // 获取选中项目的索引 int nIndex = pNMListView->iItem; // 获取当前 checkbox 的状态 BOOL bChecked = m_list.GetCheck(nIndex); // 根据需要处理 checkbox 状态 if (bChecked) { // 处理选中状态 } else { // 处理未选中状态 } } *pResult = 0; } ``` 这样,你就可以在VC ListControl控件中添加check box,并通过OnLvnItemchangedList()函数处理选中状态的变化。记得将IDC_LIST替换为你实际使用的List Control控件的ID。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值