设置ListView控件的Check Boxes状态

原创 2003年07月25日 08:13:00

设置ListView控件的Check Boxes状态<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

aawolf按:最近在项目里用到了ListView的这个属性,尽管这篇文章在MSDN里的评价并不是很高,但对于需要这种属性的工程还是比较好的指导材料。所以拿来和大家一同分享,希望大家继续关注我的专栏:http://www.csdn.net/develop/author/netauthor/aawolf/

What You Need

·                     Microsoft eMbedded Visual Tools 3.0

·                     Good working knowledge of Microsoft eMbedded Visual C++

Background

 

在设计一个用户界面时,你经常需要对一系列的选择给出一个可见的提示。这可以用不同的图标表示,或者使用一个Check Box控件。Pocket PC ListView控件提供内建的Check Box功能(见图)。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />CSDN_Dev_Image_2003-7-241902490.wmz
Figure: Check boxes allow intuitive selection of ListView items.

Pocket PC SDK中你会发现ListViewListView_GetCheckState宏允许检查一个List ItemCheck box状态。不幸的是,相应的ListView_SetCheckState宏没有被包含到Microsoft Visual C++的头文件中去,比如Pocket PC 2000 SDKPocket PC 2002 SDK当前的Beta版本。这个宏被包含到了平台SDKMSDN的文档中。它将被添加到Pocket PC 2002 SDK的最终版本中。

如果你看一下ListView_GetCheckState commctrl.h中的定义,你将看到Check Box状态被保存在12bitItem data中。

Adding the Missing Pieces

通过ListView_GetCheckState的逻辑,设置或者清空这个字将直接影响Check Box的状态,设置或者取消Check标志。因此,ListView_SetCheckState命令可以被跟踪实现。拷贝并粘贴这个宏到你的代码中,就可以使它工作。(aawolf:Pocket PC 2002以上的SDK中已经包含了这个宏,直接使用就可以了)

注意INDEXTOSTATEIMAGEMASK将值移动12位。

Using the Checkboxes

为了使用ListViewCheck Box,你需要设置LVS_EX_CHECKBOXES风格:

该风格在List的第一列中留出足够的空间,并且在文字的前面画出Check Box。当你想设置Check Box时,你需要调用ListView_SetCheckState控制句柄、Item索引和期望的状态。

同样,你可以通过调用ListView_GetCheckState来得到Check Box的状态:

Conclusion

该功能的完整执行在最终的Pocket PC SDK中是有效的,这可以让你的程序通过很简单的方式得到视觉效果上的优势。

C#ListView控件添加复选框并获取选中的数目

1、添加复选框:listView1.CheckBoxes = true; 2、选中listview并获取选中的数目: private void listView1_ItemChecke...
  • lucky51222
  • lucky51222
  • 2014年12月12日 12:59
  • 12522

ListView和CheckBox的混乱问题

主要是解决我以前的一篇博客仿微信添加群聊界面——addView里listview和checkbox混乱的问题先来上BUG图,我在添加了数据,让listview能滚动起来后就发现了这个问题,大家看图,我...
  • jiang89125
  • jiang89125
  • 2015年12月22日 13:36
  • 5573

C# winform项目中ListView控件使用CheckBoxes属性实现单选功能

C# winform项目中ListView控件使用CheckBoxes属性实现单选功能
  • blacet
  • blacet
  • 2014年05月13日 21:12
  • 8782

VC控件--在ListCtrl中加入CheckBox控件

(1)首先,设置list列表的风格ListView_SetExtendedListViewStyle    (m_lvTestList.m_hWnd, LVS_EX_CHECKBOXES | LVS...
  • primer_programer
  • primer_programer
  • 2007年12月26日 17:55
  • 6979

设定Check Box为选中状态和判断是否选中

米度软件:www.midosoft.cn  在界面设计中,我们经常会用到Check Box这个控件,Check Box 的使用方法与Radio Button 的用法相似,但比它要简单得多。一、设定Ch...
  • MidoSoft
  • MidoSoft
  • 2010年04月24日 22:04
  • 3634

按钮比如radio、check按钮状态的获得和设置的问题

VC++之Button控件    按钮窗口(控件)在MFC中使用CButton表示,CButton包含了三种样式的按钮,Push Button,Check Box,Radio Box。所以在利...
  • hxh129
  • hxh129
  • 2014年01月07日 16:29
  • 2796

ListView设置选中状态

ListView设置选中状态使用方法通常在ListView的子View被选中时,希望给顶一个被选中的状态,比如,更改背景色。为了使子View在选中时改变背景,可以用标签实现。 activated.x...
  • ws_lm
  • ws_lm
  • 2016年12月20日 15:50
  • 1437

Android ListView中子控件的状态保存以及点击子控件改变子控件状态

public class PreEntryAdapter extends BaseAdapter { private LayoutInflater inflater; private Contex...
  • BBLD_
  • BBLD_
  • 2014年04月27日 16:06
  • 3028

listview item如何获取子控件

 seOonItemLongClick(AdapterView arg0, View arg1,                                         int arg...
  • yuanyuan_186
  • yuanyuan_186
  • 2014年08月26日 12:34
  • 362

MFC中CheckBox的状态判断

MFC中复选框Checkbox控件,查找到有四种方法可对其进行操作。   1,利用CButton成员函数GetCheck和SetCheck。   2,利用CWnd成员函数IsDlgButtonCh...
  • tianxia_rwx
  • tianxia_rwx
  • 2016年11月06日 23:30
  • 5057
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设置ListView控件的Check Boxes状态
举报原因:
原因补充:

(最多只允许输入30个字)