在ListCtrl中将多选框变为单选框的方法
来源:互联网 发布:linux expect spawn 编辑:程序博客网 时间:2024/05/17 23:04
在ListCtrl中将多选框变为单选框的方法:
假定ID为IDC_LIST1
增加:
ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST1, OnItemchangedList1)
函数实现:
void CTestDlg::OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
*pResult = 0;
static int lSelectItem=-1;
if (pNMListView->uOldState == 0 && pNMListView->uNewState == 0)
return; // No change
BOOL bPrevState = (BOOL)(((pNMListView->uOldState &
LVIS_STATEIMAGEMASK)>>12)-1); // Old check box state
if (bPrevState < 0) // On startup there's no previous state
bPrevState = 0; // so assign as false (unchecked)
// New check box state
BOOL bChecked=(BOOL)(((pNMListView->uNewState & LVIS_STATEIMAGEMASK)>>12)-1);
if (bChecked < 0) // On non-checkbox notifications assume false
bChecked = 0;
if (bPrevState == bChecked) // No change in check box
return;
if(bChecked)
{
if(lSelectItem!=-1)
{
//already checked, reset the last checked item
m_list.SetCheck(lSelectItem,FALSE);
}
lSelectItem=pNMListView->iItem;
}
else
{
//UnCheck,reset lSelectItem
lSelectItem=-1;
}
}
- 在ListCtrl中将多选框变为单选框的方法
- 在ListCtrl中将多选框变为单选框的方法
- 在MSN中将自己的显示名变为空白
- 如何在WEBI中将空变为零
- 如何在sencha touch中将选中的item状态自动变为不选中
- 在ABAP中将负号提前的方法
- 在ESXi中将磁盘从厚格式变为精简格式
- 在Android Studio中将Android工程变为Library使用
- 在Android Studio中将Android工程变为Library使用
- 在jsp中把相对路径变为绝对路径的方法
- 操作ListCtrl的一些方法
- vb中将当前的输入法变为英文输入法
- jquery-easyui 中将表格变为可编辑的
- 在C#中将.bmp转为.jpg格式的方法
- 在BREW中将PNG转换成为BMP的方法
- 在java中将一个对象的所有方法打印出来
- 在EXCEL表格中将文字竖排的方法
- html中将某个控件限制在框内的方法
- Spring 系列: Spring 框架简介
- 将对话框资源移到另外工程的步骤
- 支持IE、跨域(FRAME)的POPUP菜单栏(收藏)
- Combox对象的 CBN_SELCHANGE事件
- Spring 系列,第 2 部分: 当 Hibernate 遇上 Spring
- 在ListCtrl中将多选框变为单选框的方法
- 测试时代软件测试交流会4月15日北京举行
- 从其他sql server 服务器查询
- Spring 系列,第 3 部分: 进入 Spring MVC
- Spring 系列,第 4 部分: Spring JMS 消息处理 1-2-3
- 关于状态栏的一些问题
- 轻量级开发的成功秘诀,第 3 部分: Spring 露出水面
- 巧借Long类实现自己的UUID生成
- 轻量级开发的成功秘诀,第 4 部分: 轻量级容器的比较