CListCtrl总结.xml
pre{
line-height:1;
color:#d1653c;
background-color:#000000;
font-size:16px;}.sysFunc{color:#566d68;font-style:italic;font-weight:bold;}
.selfFuc{color:#f3e191;}
.bool{color:#f6ac77;}
.condition{color:#5e0502;font-weight:bold;}
.key{color:#c1018f;}
.var{color:#61afba;font-style:italic;}
.Digit{color:#008000;font-weight:bold;}
.includePre{color:#3c65d1;}
.operator {color:#65ec0f;font-weight:bold;}
1 获得选中项的索引
POSITION pos=m_BanjiList.GetFirstSelectedItemPosition();
if(pos==NULL)
{
AfxMessageBox(L"未选择任何项");
return;
}else{
int iIndex=m_BanjiList.GetNextSelectedItem(pos);
CString Str1;
CString Str2;
Str1=m_BanjiList.GetItemText(iIndex,0);
Str2=m_BanjiList.GetItemText(iIndex,1);
}
2 NM_CLICK 单击事件中获得选中行信息
OnNMClickListWenti(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
*pResult = 0;
NM_LISTVIEW *info=(NM_LISTVIEW*)pNMHDR;
int nIndex=info->iItem; //选中的行数
if (nIndex==-1) //未选中 则默认最后一个
{
nIndex=m_BanjiList.GetItemCount()-1;
if (nIndex==-1) //如果为-1,则说明 还未添加任何项目
return;
else
m_BanjiList.SetItemState(nIndex,LVIS_SELECTED,LVIS_SELECTED);
}
CString xuehaoStr=m_XueShengList.GetItemText(nIndex,0); //选中行的第一列的文字
}
3 选中某行
plistctrl->SetItemState(index,LVIS_SELECTED,LVIS_SELECTED);//选中一行
plistctrl->SetItemState(index,0,LVIS_SELECTED);//取消一行
DWORD style=plistctrl->GetItemState(index,LVIS_SELECTED);//获得选中信息
4 获得行数
List.GetItemCount();
获得某项第几列中的文字
CString str=List.GetItemText(nIndex,0); //第nIndex项(以0为基点) 第0列中的文字
5 获得列数
extern CListCtrl* pmyListCtrl;
int nColumnCount = pmyListCtrl->GetHeaderCtrl()->GetItemCount();
// Delete all of the columns.
for (int i=0;i < nColumnCount;i++)
{
pmyListCtrl->DeleteColumn(0);
}
删除所有项,删除所有列
m_BanjiList.m_Header.m_HChar.clear(); //删除VECTOR 列标题
m_BanjiList.DeleteAllItems();
while(m_BanjiList.DeleteColumn(0))
{
m_BanjiList.DeleteColumn(0);
}
6 自绘时获得是否高亮等信息
是否高亮
LVITEM lvi = {0};
lvi.mask = LVIF_STATE;//|LVIF_IMAGE;
lvi.stateMask = LVIS_FOCUSED | LVIS_SELECTED ;
lvi.iItem = lpDIS->itemID;
BOOL bGet = GetItem(&lvi);
BOOL bHighlight =((lvi.state & LVIS_DROPHILITED)||((lvi.state & LVIS_SELECTED) &&
((GetFocus() == this)|| (GetStyle() & LVS_SHOWSELALWAYS))));
是否单击
CRect rcBack = lpDIS->rcItem;
pDC->SetBkMode(TRANSPARENT);
if(this->GetItemState(lvi.iItem, CDIS_SELECTED)) //绘制选中行颜色,单击颜色。
{
CRect itemBackRect;
itemBackRect=rcBack;
pDC->FillRect(itemBackRect, &CBrush(RGB(240,254,229)));
itemBackRect.left += 1;
itemBackRect.top += 2;
itemBackRect.right -=1;
itemBackRect.bottom -=2;
pDC->FillRect(itemBackRect, &CBrush(RGB(191,225,128)));
pDC->SetTextColor(RGB(0,0,0));
}
7 获得列名
LVCOLUMN lvColumn;
TCHAR strChar[256];
lvColumn.pszText=strChar;
lvColumn.cchTextMax=256 ;
lvColumn.mask = LVCF_TEXT;
GetColumn(0, &lvColumn);
if(CString(lvColumn.pszText)!=_T("")) //如果首列有字,那么就不再绘制checkbox
{
return -1;
}
本文使用 书画小说软件 发布,内容与软件无关,书画小说软件 更惬意的读、更舒心的写、更轻松的发布。
CListCtrl总结.xml的更多相关文章
- (转)C++ CListCtrl使用技巧的摘抄
转:http://blog.csdn.net/sanshao27/article/details/1888315 1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 ...
- XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法
在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...
- .NET Core采用的全新配置系统[9]: 为什么针对XML的支持不够好?如何改进?
物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...
- WebApi接口 - 响应输出xml和json
格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...
- XML技术之DOM4J解析器
由于DOM技术的解析,存在很多缺陷,比如内存溢出,解析速度慢等问题,所以就出现了DOM4J解析技术,DOM4J技术的出现大大改进了DOM解析技术的缺陷. 使用DOM4J技术解析XML文件的步骤? pu ...
- UWP开发之Mvvmlight实践六:MissingMetadataException解决办法(.Net Native下Default.rd.xml配置问题)
最近完成一款UWP应用,在手机端测试发布版(Release)的时候应用莫名奇妙的强行关闭,而同样的应用包在PC端一点问题都没有,而且Debug版在两个平台都没有问题,唯独手机的Release版有问题. ...
- PHP中遍历XML之SimpleXML
简单来讲述一些XML吧,XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言.XML是当今用于传输数据的两大工具之一,另外一个是json. 我们在PHP中使用XML也是用来传输数据, ...
- Asp.Net 操作XML文件的增删改查 利用GridView
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
- Mybatis XML配置
Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...
随机推荐
- Java数据结构之排序
1.冒泡排序:时间复杂度为O(n2) 假设是由小到大排序:相邻两个数之间进行比较,较大的数在后面.一次比较过后最大的数排在最后面 如:40.8.15.18.12一次排序后为:8.15.18.12.40 ...
- 关于utf8 unicode gbk 编码乱码汇总
首先从一个问题说起: 插入一个中文到blob类型(mysql编码是utf-unicode-ci). insert into blobtype(data) values('中文你好') 复制数据显示为 ...
- JAVASCRIPT和JQUERY判断浏览器信息总汇(备忘)
<script type="text/javascript"> //jquery判断浏览器信息 $(function(){ ...
- 虚拟机 linux系统如何安装vmware Tools
1.打开VMware Workstation虚拟机,开启CentOS系统 虚拟机-安装VMware Tools 登录CentOS终端命令行 2.mkdir /media/mnt #新建挂载目录 ...
- 《OD学hadoop》第一周0625 LINUX作业一:Linux系统基本命令(一)
1. 1) vim /etc/udev/rules.d/-persistent-net.rules vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE= ...
- Android 第三方应用接入微信平台(1)
关键字:微信开放平台 Android第三方应用接入微信 微信平台开放后倒是挺火的,许多第三方应用都想试下接入微信这个平台, 毕竟可以利用微信建立起来的关系链来拓展自己的应用还是挺不错的,可 以节约 ...
- 一个简单的ORM制作(CURD操作类)
SQL执行类 CURD操作类 其他酱油类 此篇是为上篇文章填坑的,不知道上篇砸过来的砖头够不够,不够的话请大家继续砸. CURD操作类负责将用户提供的条件转换为SQL语句,并提供给IHelper执行, ...
- LA 4255 (拓扑排序 并查集) Guess
设这个序列的前缀和为Si(0 <= i <= n),S0 = 0 每一个符号对应两个前缀和的大小关系,然后根据这个关系拓扑排序一下. 还要注意一下前缀和相等的情况,所以用一个并查集来查询. ...
- STL set容器的一点总结
整理了一下set常用语句,参看这篇http://www.cnblogs.com/BeyondAnyTime/archive/2012/08/13/2636375.html -------------- ...
- HDU 5348 MZL's endless loop 给边定向(欧拉回路,最大流)
题意: 给一个所有你可能想得到的奇葩无向图,要求给每条边定向,使得每个点的入度与出度之差不超过1.输出1表示定向往右,输出0表示定向往左. 思路: 网络流也是可以解决的!!应该挺简单理解的.但是由于复 ...