VC CListBox中加复选框

在VC工程中,标准的CListBox控件不支持内置的复选框功能。不过,可以通过自定义绘制或者使用MFC的CCheckListBox类来实现。使用CCheckListBox类,需要设置ListBox控件的属性为Owner draw固定(LBS_OWNERDRAWFIXED)和有字符串(LBS_HASSTRINGS)。然后在对话框初始化时,将ListBox子类化为CCheckListBox,并设置复选框样式。这样就可以添加和获取复选框的状态了。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

一个带有复选框的列表控件,VB、Delphi……里有,VC工程,VC中的CListBox, CListCtrl没有复选框。自已重绘一个,或可以去网上找一个别人做好的现成的类。

MFC有一个CCheckListBox类支持复选框风格,可以直接使用ListBox控件,初始化时把它子类化成 CCheckListBox,设置风格参数。但要注意一下,关键要修改ListBox控件的两个属性,Owner draw设置为Fixed(LBS_OWNERDRAWFIXED),Has strings设置为True(LBS_HASSTRINGS)。

1、首先在窗口上拖放一个ListBox控件,资源ID为IDC_LIST;

2、修改ListBox控件的属性(LBS_OWNERDRAWFIXED | LBS_HASSTRINGS);

3、定义CCheckListBox对象,在窗口类的头文件里;
           // XXXDlg.h
          CCheckListBox m_CheckList;

4、CPP文件中,初始化时
          // XXXDlg.cpp
          BOOL CXXXDlg::OnInitDialog()
          {

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值