MFC 单文档添加ListView方法片段
来源:互联网 发布:第三次经济普查数据库 编辑:程序博客网 时间:2024/05/29 15:59
先建立MFC类listviewtest并继承CListView
然后重写OnInitialUpdate()
void ShowListView::OnInitialUpdate(){CListView::OnInitialUpdate();// TODO: 在此添加专用代码和/或调用基类///设置列表控件为报表风格,第一列按字母排序,并让控件总是显示选定内容//在列表上画线,分割列表的行和列,第二种风格允许用户选中整行GetListCtrl().SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);CDC *pDC = GetDC();TEXTMETRIC tm;pDC->GetTextMetrics(&tm);//向列表中添加表头GetListCtrl().InsertColumn(0,L"编号", LVCFMT_LEFT,10*tm.tmAveCharWidth); GetListCtrl().InsertColumn(1,L"协议", LVCFMT_LEFT,10*tm.tmAveCharWidth); GetListCtrl().InsertColumn(2,L"源地址", LVCFMT_LEFT,20*tm.tmAveCharWidth);GetListCtrl().InsertColumn(3,L"源端口", LVCFMT_LEFT,10*tm.tmAveCharWidth);ListView 添加数据void CShowListView::AddDATA(CString strProto, CString szSource, CString szSourcePort, CString szDest, CString DestPort, CString strSize, CString strData){ CListCtrl& showlist =GetListCtrl(); CString strTime,str; CTime ctime=CTime::GetCurrentTime(); strTime = ctime.Format("%I:%M:%S %p %B %d %Y");//获取当前时间 CMainFrame *pFrm =(CMainFrame *)AfxGetMainWnd(); str.Format("%d",pFrm->BianHao++); int index =showlist.InsertItem(0,str); showlist.SetItemText(index,1,strProto); showlist.SetItemText(index,2,szSource); showlist.SetItemText(index,3,szSourcePort); showlist.SetItemText(index,4,szDest); showlist.SetItemText(index,5,DestPort); showlist.SetItemText(index,6,strSize); showlist.SetItemText(index,7,strTime); showlist.SetItemText(index,8,strData); }
GetListCtrl().InsertColumn(4,L"目标地址",LVCFMT_LEFT,20*tm.tmAveCharWidth);GetListCtrl().InsertColumn(5,L"目标端口",LVCFMT_LEFT,10*tm.tmAveCharWidth);GetListCtrl().InsertColumn(6,L"字节长度",LVCFMT_LEFT,30*tm.tmAveCharWidth);GetListCtrl().InsertColumn(7,L"抓取时间",LVCFMT_LEFT,30*tm.tmAveCharWidth);GetListCtrl().InsertColumn(8,L"数据", LVCFMT_LEFT,200*tm.tmAveCharWidth);}BOOL ShowListView::PreCreateWindow(CREATESTRUCT& cs){// TODO: 在此添加专用代码和/或调用基类cs.style = cs.style|LVS_REPORT; //设置成报文格式return CListView::PreCreateWindow(cs);} 在CMainFrame重写OnCreateClientBOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext){ // TODO: 在此添加专用代码和/或调用基类 CRect rect; GetClientRect(&rect); m_wndSplitter.CreateStatic(this,2,1); m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(ShowListView), CSize(rect.Width(),rect.Height()-rect.Height()/5),pContext); m_wndSplitter.CreateView(1,0,RUNTIME_CLASS(CListContorlTestView),CSize(rect.Width(),rect.Height()/5),pContext); return true; //return CFrameWnd::OnCreateClient(lpcs, pContext);}
ListView 添加数据void CShowListView::AddDATA(CString strProto, CString szSource, CString szSourcePort, CString szDest, CString DestPort, CString strSize, CString strData){ CListCtrl& showlist =GetListCtrl(); CString strTime,str; CTime ctime=CTime::GetCurrentTime(); strTime = ctime.Format("%I:%M:%S %p %B %d %Y");//获取当前时间 CMainFrame *pFrm =(CMainFrame *)AfxGetMainWnd(); str.Format("%d",pFrm->BianHao++); int index =showlist.InsertItem(0,str); showlist.SetItemText(index,1,strProto); showlist.SetItemText(index,2,szSource); showlist.SetItemText(index,3,szSourcePort); showlist.SetItemText(index,4,szDest); showlist.SetItemText(index,5,DestPort); showlist.SetItemText(index,6,strSize); showlist.SetItemText(index,7,strTime); showlist.SetItemText(index,8,strData); }
CRect rect; GetClientRect(&rect);
m_wndSplitter.CreateStatic(this,2,1);
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(ShowListView), CSize(rect.Width(),rect.Height()-rect.Height()/5),pContext); m_wndSplitter.CreateView(1,0,RUNTIME_CLASS(CListContorlTestView),CSize(rect.Width(),rect.Height()/5),pContext); return true; //return CFrameWnd::OnCreateClient(lpcs, pContext);}
- MFC 单文档添加ListView方法片段
- MFC单文档添加背景图片
- MFC单文档添加背景图片
- MFC 单文档中添加按钮控件
- MFC 单文档中添加按钮控件
- MFC 单文档中添加OnPaint
- MFC 单文档 动态控件添加
- 【MFC】单文档添加背景图片(1)
- 【MFC】单文档添加背景图片(2)
- 单文档mfc添加树形控件
- 单文档mfc添加树形控件
- MFC 单文档中添加按钮控件
- MFC 单文档中添加OnPaint
- VS2013 MFC单文档添加菜单
- MFC单文档窗口添加按钮控件
- MFC单文档程序初始化对话框方法
- VC++ MFC单文档转多文档的步骤方法
- 为MFC单文档程序添加HTML帮助支持
- MSSQL数据库游标
- 一起来学设计模式(3)——工厂模式
- connman简介
- 守护进程测试
- iphone调试 gdb基本命令和技巧
- MFC 单文档添加ListView方法片段
- 批量删除版本库中的.svn文件夹(win客户端)
- C# 中如何操作系统服务?注意事项有哪些?给出代码片段!(图)
- onFling无法触发
- 解决UltraEdit打开UTF-8文件光标定位不准的问题
- boost pool, object_pool实现
- 在批处理文件中怎么获得三天前的日期
- gdb下watch的使用
- linux c c++内存检查工具valgrind的使用