zoukankan      html  css  js  c++  java
  • CListCtrl 使用笔记

    1. 如何获取和设置某一行的选中状态? 
        1) 获取选中状态
            int state = listCtrl.GetItemState(item, LVIS_SELECTED);
            if (state & LVIS_SELECTED){
                // 选中
            }
            else{
                // 为选中
            }

        2) 设置选中状态
            取消选中: listCtrl.SetItemState(item, 0, LVIS_SELECTED);
            设置选中: listCtrl.SetItemState(item, 1, LVIS_SELECTED);

    2. 如何获取所有选中的行? 
        方式一 :
            POSITION pos = listCtrl.GetFirstSelectedItemPosition();
            while (pos){
                int index = listCtrl.GetNextSelectedItem(pos);
                // do something
            }
        方式二 :
            int item = -1;
            while ( -1 != (item = GetNextItem(item, LVIS_SELECTED)) ){
                // do something with item
            }

    3. 如何使用EditLabel ? 
        1) 创建控件的时候应该设置 : LVS_EDITLABELS 风格
        2) 接收Notify消息:LVN_BEGINLABELEDIT, 用以处理是否开始编辑指定条目。这个消息是可选的
           一个实现可能是这个样子
            void CMyView::OnBeginLabelEdit(NMHDR *pNMHDR, LRESULT *pResult)
            {
                NMLVDISPINFO *pNmlvDispInfo = reinterpret_cast<NMLVDISPINFO*>(pNMHDR);
                int item = pNmlvDispInfo->item.iItem; // 编辑框所在的条目
                if (item < 0) *pResult = 1;
            }
        3) 接受Notify消息:LVN_ENDLABELEDIT, 用以处理编辑完成事件,在这个时间里我们可以获取编辑框的内容
            一个可能的实现:
            void CMyView::OnEndLabelEdit(NMHDR *pNMHDR, LRESULT *pResult)
            {
                NMLVDISPINFO* pLVDI = reinterpret_cast<NMLVDISPINFO*>(pNMHDR);

                if(pLVDI->item.pszText!=NULL){ //判断是否已经取消取消编辑
                    // 将编辑行的第一列设置为编辑框中的字符串
                    listCtrl.SetItemText(pLVDI->item.iItem, 0, pLVDI->item.pszText);
                }

                *pResult = 0;
            }
  • 相关阅读:
    Android开发笔记记住用户名密码(SharedPreferences)
    Android 开发笔记——全局变量
    linker command failed with exit code 1 (use v to see invocation)
    cocos2diphone搭建开发环境。
    google 打不开?
    iOS 局部变量 setTag后可在别的地方调用 viewWithTag
    _OBJC_CLASS_$_SKStoreProductViewController
    iOS 合并.a文件,制作通用静态库
    NSUserDefaults 数据的存取
    xcode 4 制作静态库详解 [转]
  • 原文地址:https://www.cnblogs.com/hdtianfu/p/2783268.html
Copyright © 2011-2022 走看看