http://blog.csdn.net/lovton/article/details/6527208

1.建立一个对象m_LogList

步骤:在对话listcontrol控件右键点击添加变量-》类别Control->变量类型CListCtrl-》变量名m_LogList-》完成。

2.listcontrol// 设置扩展风格l风格

在OnInitDialog()函数内添加下面代码:

DWORD dwStyle = m_LogList.GetExtendedStyle(); 
dwStyle |= LVS_EX_FULLROWSELECT;//鼠标选中某行使整行高亮(只适用与属性为report 风格的listctrl )
dwStyle |= LVS_EX_GRIDLINES;// 列表有网格线(只适用与report 风格的listctrl )
m_LogList.SetExtendedStyle(dwStyle); // 设置扩展风格

3.插入数据

插入列头:

int nIndex = 0;
m_LogList.InsertColumn(nIndex++, _T("序号"), LVCFMT_CENTER,60);

m_LogList.InsertColumn(nIndex++, _T("日志类型"), LVCFMT_CENTER,80);

插入行头:m_LogList.InsertItem(i, Int32ToCString(m_pHQReadLogInfo[i].nNo));//把整型转换为字符串函数(Int32ToCString),i为第几行,从0开始。

插入列表中的内容:    m_list.SetItemText(i, j, "jacky");// 设置其它列数据,i,j分别表示第i行和第j列,i和j分别从0开始,如果已经插入了表头,j就从1开始。“jacky”报错,那么在属性中字符集改为“使用多字节符集”

在具体插入哪行:http://blog.csdn.net/lovton/article/details/6527208

4.点击右键出现菜单。

具体步骤:右键点击项目名-》添加-》资源-》Menu,建立主菜单。

添加函数,在对话框中右键点击listcontrol-》类向导-》消息-》WM_CONTEXTMENU->函数名称(OnContextMenu)

函数添加如下内容:注意 IDR_MENU1为菜单名 IDC_LIST1 listcontrol的ID名

void CJGHQLOGTOOLDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{
// TODO: 在此处添加消息处理程序代码
CWnd* pCtl = GetDlgItem(IDC_LIST1); if (pWnd == pCtl)
{
m_menu.LoadMenu(IDR_MENU1);
CMenu *pPopup;
pPopup = m_menu.GetSubMenu(); //获得子菜单指针 pPopup->EnableMenuItem(ID_TOEXCEL,MF_BYCOMMAND|MF_ENABLED); //允许菜单项使用
pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this); //显示弹出菜单,参数依次为(鼠标在菜单左边|跟踪右键,x,y,this)
pPopup->Detach();
m_menu.DestroyMenu();
}
}

5.删除数据

  m_LogList.DeleteAllItems();或者

while(m_LogList.DeleteItem(0));

6. 得到点击右键的listctrl的行列号,左键类似

步骤:右键点击-》添加事件处理程序-》消息类型选择NM_RCLICK,对应函数处理名称为OnNMRClickList1

出现函数添加内容:

  

void CJGHQLOGTOOLDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
// 方法一:
/*
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) ); m_list.ScreenToClient(&point); LVHITTESTINFO lvinfo;
lvinfo.pt = point;
lvinfo.flags = LVHT_ABOVE; int nItem = m_list.SubItemHitTest(&lvinfo);
if(nItem != -1)
{
CString strtemp;
strtemp.Format("单击的是第%d行第%d列", lvinfo.iItem, lvinfo.iSubItem);
AfxMessageBox(strtemp);
}
*/ // 方法二:
/*
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if(pNMListView->iItem != -1)
{
CString strtemp;
strtemp.Format("单击的是第%d行第%d列",
pNMListView->iItem, pNMListView->iSubItem);
AfxMessageBox(strtemp);
}
*/
*pResult = ;
}

7.在点击子菜单插入对话框

步骤:1.点击项目名字-》添加资源-》Dialog

2.MeNU菜单中点击右键添加事件处理程序-》COMMAND-》添加编辑

添加如下内容: void CJGHQLOGTOOLDlg::On132778()

{
// TODO: 在此添加命令处理程序代码
//int i,temp,k;
cDlgCheck dlg;
dlg.DoModal();
TRACE(dlg.m_strValue);
}

8.listcontrol列表数据实现分页功能

思路:添加俩个按钮上一页和下一页,把数据用结构体存起来,重复的删除和插入,就ok了

遇到慢慢更新。。。。

MFC ListControl用法的更多相关文章

  1. MFC ListControl用法合集

    以下未经说明,listctrl 默认view 风格为report ------------------------------------------------------------------- ...

  2. MFC ListControl使用方法

    在原来博客中有:MF CListControl 简单功能使用 推荐文章:MFC类CtrlList用法 今天又又一次来介绍点新东西:双击击listcontrol  做出响应.当然你能够做的还有非常多,比 ...

  3. MFC listcontrol 分列 添加行数据 点击列头排序

    适用于 对话框程序 1.在工具箱中拖出 ListControl,然后右键-属性,view-Report 让你的ListControl变成这幅模样! 2.添加ListControl控件的control类 ...

  4. VS2013 MFC listcontrol 双击编辑

    原文地址:http://blog.csdn.net/xianglifighter/article/details/17592209 最近在拿一些小的项目练习MFC,遇到不少问题,期中之一便是修改列表框 ...

  5. 【转】MFC CreateFont 用法

    中国人自古就有自右至左.从上到下书写汉字的习惯.而当我们在自己所编写的应用程序中使用输出函数输出的总是自左至右的横排文字.有没有可能在我们的应用程序中实现竖写汉字的效果呢?笔者偶然发现了一种利用VC实 ...

  6. MFC——ComBox用法大全

    Combo Box (组合框)控件很简单,可以节省空间.从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的.用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本 ...

  7. MFC listcontrol导出excel表格

    // 导出ExcelCString CBackGroundDlg::ExportAsExcel(CString filename, CListCtrl &resultlist, CWnd * ...

  8. MFC CFileDialog用法例子。

     Set it to TRUE to construct a File Open dialog box. Set it to FALSE to construct a File Save As dia ...

  9. MFC——AfxParseURL用法

    1.功能: 该函数解析URL字符串并返回服务的类型及组件,包含在 afxinet.h 头文件中. 2.定义 BOOL AFXAPI AfxParseURL(LPCTSTRpstrURL,DWORD&a ...

随机推荐

  1. hdu 1288 Hat's Tea

    这个要慢慢理解…… ;}

  2. 一个很好的php分词类库

    PHPAnalysis源程序下载与演示: PHP分词系统 V2.0 版下载 | PHP分词系统演示 | PHPAnalysis类API文档   原文连接地址:http://www.phpbone.co ...

  3. hdu1068 Girls and Boys

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1068 二分图的最大独立集数=节点数(n)— 最大匹配数(m) 另外需要注意的是: 本题求出的最大匹配数是实 ...

  4. hdu1017

    http://acm.hdu.edu.cn/showproblem.php?pid=1017 #include<iostream> #include<stdio.h> #inc ...

  5. HTML5入门4---HTML5 与 HTML4 同一网页的不同写法

    HTML4写法 css: body { font-family: "Lucida Sans Unicode", "Lucida Grande", Verdana ...

  6. RESTful WebService入门

    RESTful WebService入门   RESTful WebService是比基于SOAP消息的WebService简单的多的一种轻量级Web服务,RESTful WebService是没有状 ...

  7. 关于use-default-filters的一个问题

    use-default-filters=true 默认行为会自动扫描所有注解

  8. 利用qt打开一张图片并转成灰度矩阵

    首先是mat类,这个类的主要作用是构造一个容器,并将对应像素的灰度值放在容器内 #ifndef MAT_H #define MAT_H #include <vector> #include ...

  9. SPOJ 1435 Vertex Cover 树形DP

    i 表示节点 i ,j=0表示不选择其父节点,j=1表示选择其父节点.f 为其父节点. 取 每个节点选择/不选择 两者中较小的那个. 一组数据: 151 21 31 41 1010 910 1112 ...

  10. Linux批量杀进程

    ps -ef |grep 进程名|grep -v grep |awk '{print $2}' |xargs kill -9