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的更多相关文章

  1. (转)C++ CListCtrl使用技巧的摘抄

    转:http://blog.csdn.net/sanshao27/article/details/1888315 1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标      ...

  2. XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法

            在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...

  3. .NET Core采用的全新配置系统[9]: 为什么针对XML的支持不够好?如何改进?

    物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...

  4. WebApi接口 - 响应输出xml和json

    格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...

  5. XML技术之DOM4J解析器

    由于DOM技术的解析,存在很多缺陷,比如内存溢出,解析速度慢等问题,所以就出现了DOM4J解析技术,DOM4J技术的出现大大改进了DOM解析技术的缺陷. 使用DOM4J技术解析XML文件的步骤? pu ...

  6. UWP开发之Mvvmlight实践六:MissingMetadataException解决办法(.Net Native下Default.rd.xml配置问题)

    最近完成一款UWP应用,在手机端测试发布版(Release)的时候应用莫名奇妙的强行关闭,而同样的应用包在PC端一点问题都没有,而且Debug版在两个平台都没有问题,唯独手机的Release版有问题. ...

  7. PHP中遍历XML之SimpleXML

    简单来讲述一些XML吧,XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言.XML是当今用于传输数据的两大工具之一,另外一个是json. 我们在PHP中使用XML也是用来传输数据, ...

  8. Asp.Net 操作XML文件的增删改查 利用GridView

    不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...

  9. Mybatis XML配置

    Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...

随机推荐

  1. Jenkins的配置

    原文:http://www.cnblogs.com/itech/archive/2011/11/04/2236230.html 1  修改jenkins的根目录,默认地在C:\Documents an ...

  2. Java:多态性

    Java的多态性:发送消息给某个对象,让该对象自行决定响应何种行为. 通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用. java的多态性要满足三个条件: 1.继承关系 2.在子类重写父类的 ...

  3. 移动设备中导入gdb调试工具

    (1)概述 接ADB调试桥安装(方式一),ADB调试桥安装好了后一般的移动设备内都不含有gdb工具, 要想使用gdb工具可以借助adb的push参数进行上传. gdb分为gdb客户端和服务端,文件可以 ...

  4. Node 实现 AES 加密,结果输出为“byte”。

    Node 实现 AES 加密,结果输出为"byte". 最近做个需求,对接一个平台的接口,该平台采用 AES (Advanced Encryption Standard)加密算法, ...

  5. R语言学习笔记——Base Graphics

    做exploratory data annalysis的作业,差点被虐死了,R从头开始,边做边学,最后搞到一点多才弄完,还有一个图怎么画都不对,最后发现是数据读取的时候有问题. 用来画图的数据来自:h ...

  6. hbase 学习笔记二----shell

          Hbase 是一个分布式的.面向列的开源数据库,其实现是建立在google 的bigTable 理论之上,并基于hadoop HDFS文件系统.     Hbase不同于一般的关系型数据库 ...

  7. BZOJ 1047 理想的正方形(单调队列)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1047 题意:给出一个n*m的矩阵.在所有K*K的子矩阵中,最大最小差值最小的是多少? 思 ...

  8. POJ 1568 Find the Winning Move(极大极小搜索)

    题目链接:http://poj.org/problem?id=1568 题意:给出一个4*4的棋盘,x和o两人轮流放.先放够连续四个的赢.给定一个局面,下一个轮到x放.问x是否有必胜策略?若有,输出能 ...

  9. HeadFirst Jsp 04 (请求和响应作为servlet)

    servlet 的存在就是为了客服服务, servlet的任务是得到一个客户的请求, 再发回一个响应. 由上图可知, web 容器会在启动后就加载所有的servlet类, 并为之创建实例和初始化 注意 ...

  10. spring 定时器设置每隔10秒触发

    <property name="cronExpression" value="0/10 * * * * ?" />