CListCtrl中添加复选框

2023-12-09 13:18
文章标签 复选框 clistctrl

本文主要是介绍CListCtrl中添加复选框,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.首先建立一个对话框工程;

2.然后在对话框的OnInitDialog函数中添加以下代码:

3.项目熟悉listctrl的各种操作

大笑


 m_list.SetItemText(0,3,"sdf03");
 //m_list.SetItemText(1,0,"sdf");  //设置项的各列数据时也可更改行标题,即行的第一列的文字 
 m_list.SetItemText(1,1,"sdf11"); 
 m_list.SetItemText(1,2,"sdf12"); 
 m_list.SetItemText(1,3,"sdf13"); 
 
// m_list.SetCheck(0);//可以使复选框打上勾
 return TRUE;  // return TRUE  unless you set the focus to a control
}


LVS_EX_CHECKBOXES


以下就是各种风格的介绍




您可以获得 ListView_GetCheckState 指定项目的复选框的状态。若要设置检查状态,请使用 ListView_SetCheckState。如果设置了此样式,则当用户单击该复选框,或按空格键在列表视图控件自动切换复选状态。




LVS_EX_FLATSB


扁平滚动条
列表视图中的启用平面滚动条。如果您需要更多的控制列表视图滚动条的外观,您应该操作平的滚动栏 Api 使用直接的列表视图滚动条。如果更改系统度量,您负责调整与 FlatSB_SetScrollProp 的滚动栏度量。有关进一步的详细信息请参阅平滚动条。


LVS_EX_FULLROWSELECT


选择整行
当选择某个项目时,强调了项目和其所有子项。此样式是仅在 LVS_REPORT 风格结合中可用。


LVS_EX_GRIDLINES


绘制表格
显示项及其子项周围的网格线。此样式是仅在 LVS_REPORT 风格结合中可用


LVS_EX_HEADERDRAGDROP


报表头可以拖拽
允许拖放的列表视图控件中的列重新排序。此样式是只可用于使用 LVS_REPORT 样式的列表视图控件。


LVS_EX_INFOTIP


将提示信息窗口的消息通知父窗口
当列表视图控件使用的 LVS_EX_INFOTIP 样式时,LVN_GETINFOTIP 通知代码发送到父窗口显示工具提示项之前。


LVS_EX_LABELTIP




LVS_EX_MULTIWORKAREAS


多工作区


LVS_EX_ONECLICKACTIVATE


单击激活


LVS_EX_REGIONAL




LVS_EX_SUBITEMIMAGES


子项目图标列表


LVS_EX_TRACKSELECT


鼠标经过时自动选择该项


LVS_EX_TWOCLICKACTIVATE


双击激活


LVS_EX_UNDERLINECOLD




LVS_EX_UNDERLINEHOT




LVS_EX_DOUBLEBUFFER


Version 6.00. Paints via double-buffering, which reduces flicker. This extended style also enables alpha-blended marquee selection on systems where it is supported.
这个风格只能用在32位编译器上的CListCtrl的系统自带的双缓存。




3.接下来介绍下关于选择复选框的操作:


首先在对话框上添加一个按键


然后在案件的响应函数中添加以下代码:


 


 /*
当使用鼠标选择某行的复选框时,输出选中的行各列的值
*/
void CCheckBoxListDlg::OnShowtest() 
{
 // TODO: Add your control notification handler code here
 int index = 0;
 for (;index < 2; index ++)
 {
  if (m_list.GetCheck(index))//判断该行是否被选中
  {
  //输出各列的值
   cout << (LPCSTR)(m_list.GetItemText(index, 1)) << endl;
   cout << (LPCSTR)(m_list.GetItemText(index, 2)) << endl;
   cout << (LPCSTR)(m_list.GetItemText(index, 3)) << endl;
  }
 }
}


4.最后分享下,复选款全选和全不选的实现:


首先添加两个按键,命名为“全选”和“全不选”


在全选的按键响应函数中添加如下代码:


 


 //全部选择
void CCheckBoxListDlg::OnSelectall() 
{
 // TODO: Add your control notification handler code here
 for (int i = 0; i < m_list.GetItemCount(); i ++)
 {
  m_list.SetCheck(i);
 }
}


在全不选的按键响应函数中添加如下代码:


 


//全不选
void CCheckBoxListDlg::OnUnselect() 
{
 // TODO: Add your control notification handler code here
 for (int i = 0; i < m_list.GetItemCount(); i ++)
 {
  m_list.SetCheck(i, FALSE);
 }

这篇关于CListCtrl中添加复选框的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/473850

相关文章

listview与复选框的合并使用

在使用listview的过程中,我们常常需要使用复选框,实现一些批处理功能。这时候我们需使用自定义的adapter,实现相关复选框的事件响应。      首先在adapter定义一个哈希表,用于存放复选框的选中情况:      如private static HashMap<String,Boolean> isSelected,private static HashMap<Inter

Vue学习:v-model绑定文本框、单选按钮、下拉菜单、复选框等

v-model指令可以在组件上使用以实现双向绑定,之前学习过v-model绑定文本框和下拉菜单,今天把表单的几个控件单选按钮radio、复选框checkbox、多行文本框textarea都试着绑定了一下。 一、单行文本框和多行文本框 <p>1.单行文本框</p>用户名:<input type="text" v-model="inputMessage"><p>您的用户名是:{{inputMe

LVGL 控件之复选框(lv_checkbox)和下拉列表(lv_dropdown)

目录 一、复选框1、组成2、设置复选框文本3、复选框部件的状态4、复选框事件5、API 函数 二、下拉列表1、组成2、选项2.1 添加选项2.2 获取当前选中的选项 3、设置3.1 设置列表展开方向3.2 设置下拉列表图标3.3 设置列表常显文本 4、事件5、API 函数 一、复选框 1、组成 复选框部件由两个部分组成:主体和勾选框,示意图如下: LV_PART_M

jQuery 单选框/复选框美化

对于前端萌新来说,美化表单是个痛苦的事情,通常都是去寻找插件这种逃避的办法,其实这并不是难事。在上篇文章中提到了兄弟元素选择器在表单美化中表现突出,下面的示例源码将体现 基础篇知识的实际应用。 纯CSS版:http://www.jq22.com/webqd5106 上效果图: 源码如下: <!--author:helangEmail:helang.love@qq.com--><!D

uni-app 自定义复选框/单选框

插件地址:https://ext.dcloud.net.cn/plugin?id=717 预览效果: 作者:黄河爱浪 QQ:1846492969,邮箱:helang.love@qq.com 公众号:web-7258,本文原创,著作权归作者所有,转载请注明原链接及出处。 更多精彩文章,请扫下方二维码关注我的公众号

selenium 自动化之二(1)----元素定位特殊操作复选框

针对一些相对单存定位的元素,会有个别的元素定位情况及一些元素的相关操作 checkbox的元素定位及选项,该元素属于单选或者复选等场景,那我们就需要全选或者单选或者多选 #通过xpath及css 方式定位法先找出元素checkboxs=driver.find_elements_by_xpath("//input[@type='checkbox']")checkboxs=dri

elementUI——checkbox复选框监听不到change事件,通过watch监听来解决——基础积累

今天在写后台管理系统的时候,遇到一个需求,就是要求监听复选框的change事件,场景就是:两个复选框互斥,且可以取消勾选。 就是这两个复选框可以同时都不勾选,如果勾选的话,另一个一定要取消勾选。 通过checkbox组件的change事件,是无法触发的。 可以通过watch来监听解决此问题。 比如上面的两个复选框值分别是:checked和cateChecked,可以通过监听每个值得变化

8、单选按钮(JRadioButton)和复选框(JCheckBox)

8、单选按钮(JRadioButton)和复选框(JCheckBox)         实现一个单选按钮(或复选框),此按钮项可被选择或取消选择,并显示其状态。JRadioButton对象与ButtonGroup对象配合使用可创建一组按钮,一次只能选择其中的一个按钮。单选按钮的构造方法有如下所示几点: 1) JRadioButton()         创建一个初始化为选择的单选按钮,其

7、java swing 添加 jcheckbox复选框

总体上而言,Java Swing编程有两大特点:麻烦、效果差。        麻烦是说由于设计器的使用不方便(如果您希望使用窗体设计器通过快速拖拽控件建立您的Java Swing GUI程序,请您使用MyEclipse 8.5以上版本,并且需要最高使用权限),所有代码都得手写,如果没有好的编码规范和注释习惯。自己都会被代码淹没。效果差是指运行时的界面。具体的您可以自己尝试发现。 通过一段代码来

EasyUI DataGrid 复选框

来源:http://www.glphp.com/index.php?m=content&c=index&a=show&catid=36&id=331 如何放置checkbox列。使用checkbox,用户可以选定/取消数据行。 <table id="tt"></table>$('#tt').datagrid({title:'Checkbox Select',iconCls:'ic