list iew-ClistView和CListCtrl的问题

问题描述

ClistView和CListCtrl的问题

让自己的视图类CTestView继承CListView,然后重写CTestView的OnInitialUpdate
虚函数,在该函数内,加如下代码:

CListView::OnInitialUpdate();

    // TODO: Add your specialized code here and/or call the base class

    CListCtrl& m_list = GetListCtrl();//得到内置的listctrl引用 

    LONG lStyle;
    lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口风格

    lStyle &= ~LVS_TYPEMASK; //清除显示方式位
    lStyle |= LVS_REPORT; //设置报表风格
    SetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle); //设置窗口风格
    DWORD dwStyle = m_list.GetExtendedStyle();  //选中某行使整行高亮(只适用于报表风格的listctrl)
    dwStyle |= LVS_EX_FULLROWSELECT;
    dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与报表风格的listctrl)
    m_list.SetExtendedStyle(dwStyle); //设置扩展风格
    m_list.SetBkColor(RGB(200, 200, 200)); //设置背景颜色
    m_list.SetTextBkColor(RGB(200, 200, 200)); //设置文本背景颜色
    m_list.SetTextColor(RGB(10, 10, 80)); //设置文本颜色
    //插入列的标题,为了简单起见,我只插入三列
    m_list.InsertColumn( 0, L"Test  Items", LVCFMT_CENTER, 80 );
    m_list.InsertColumn( 1,L"Test  Results", LVCFMT_CENTER, 110 );
    m_list.InsertColumn( 2,L"Duration", LVCFMT_CENTER, 110 ); 

运行结果中怎么没有list表格显示?

解决方案

CListView对象创建了没。

解决方案二:

打个断点,Debug下调试一下看看

时间: 2024-09-17 08:04:32

list iew-ClistView和CListCtrl的问题的相关文章

clistctrl 虚拟列表

一.什么是虚拟列表控件 虚拟列表控件是指带有LVS_OWNERDATA风格的列表控件.. 二.为什么使用虚拟列表控件 我们知道,通常使用列表控件CListCtrl,需要调用InsertItem把要显示的数据插入列表中,之后我们就不必关心数据在哪里了,这是因为控件自己开辟了内存空间来保存这些数据.现在假设我们要显示一个数据库,里面的信息量很大,有几十万条记录.通常有两种方法解决这个问题:1是仅仅在 ListCtrl中插入少量的数据,比如100个,然后通过[上一页][下一页]两个按钮进行控制,某一时

虚拟CListCtrl

一.什么是虚拟列表控件 虚拟列表控件是指带有LVS_OWNERDATA风格的列表控件.. 二.为什么使用虚拟列表控件 我们知道,通常使用列表控件CListCtrl,需要调用InsertItem把要显示的数据插入列表中,之后我们就不必关心数据在哪里了,这是因为控件自己开辟了内存空间来保存这些数据.现在假设我们要显示一个数据库,里面的信息量很大,有几十万条记录.通常有两种方法解决这个问题: 1是仅仅在ListCtrl中插入少量的数据,比如100个,然后通过[上一页][下一页]两个按钮进行控制,某一时

MFC CListCtrl 使用介绍

  以下未经说明,listctrl默认view 风格为report 相关类及处理函数 MFC:CListCtrl类 SDK:以 "ListView_"开头的一些宏.如 ListView_InsertColumn -------------------------------------------------------------------------------- 1. CListCtrl 风格      LVS_ICON: 为每个item显示大图标      LVS_SMALL

MFC总结之CListCtrl用法及技巧(二) .

 续第一篇:MFC总结之CListCtrl用法及技巧(一) http://blog.csdn.net/zwgdft/article/details/7560592         本篇重点介绍:禁止拖动表头.让第一列居中显示.设置行高与字体.虚拟列表技术.点击表头时进行归类.向上与向下移动.动态调整大小问题.避免闪烁问题.  6.禁止拖动表头        重载OnNotify消息响应函数,屏蔽两个消息通知码:HDN_BEGINTRACKW 和HDN_DIVIDERDBLCLICKW.示例如下:

MFC总结之CListCtrl用法及技巧(一) .

本文根据本人在项目中的应用,来谈谈CListCtrl的部分用法及技巧.当初学习时,查了很多资料,零零碎碎的作了些记录,现在主要是来做个总结,方便以后查阅.主要包括以下十三点内容:基本操作.获取选中行的行号.复选框操作.动态设置选中行的字体颜色.设置选中行的背景颜色.禁止拖动表头.让第一列居中显示.设置行高与字体.虚拟列表技术.点击表头时进行归类.向上与向下移动.动态调整大小问题.避免闪烁问题.       分为两篇来进行总结.本篇重点总结:基本操作.获取选中行的行号.复选框操作.动态设置选中行的

MFC 列表控件CListCtrl加载类似QQ界面的头像与文字

本文主要讲述使用VS2012 MFC的CListCtrl(列表)控件加载类似于QQ界面的图片与文字数据.主要通过CListCtrl::InsertColumn.InsertItem.SetItemText向列表插入数据,CImageList插入BMP图片或ICON图标. 一.创建项目及界面 1.创建项目     创建项目名为"QQList"的基于MFC对话框的应用程序.资源视图中对话框IDD_QQLIST_DIALOG删除"TODE"和按钮,并添加List Cont

软件-CListCtrl 复选框 单行颜色绘制

问题描述 CListCtrl 复选框 单行颜色绘制 我想做一个CListCtrl Report风格扩展复选框的软件通过 选择复选框表示要测试的数据比如说分数高于60分的标注绿色低于60分的标注红色, 但是复选框和绘制颜色不兼容怎么处理?? 解决方案 复选框单独放在一列上,这一列不要绘制.或者连复选框一起重绘.

改变CListCtrl、CHeaderCtrl高度、字体、颜色和背景

一.实现过程 1.表头修改 新建一个MFC类CHeaderCtrlCl,其基类为CHeaderCtrl,响应OnPaint消息实现自绘,实现代码请看源代码(由于代码较占篇幅,所以就不贴上来了,抱歉),在头文件中定义函数 LRESULT OnLayout( WPARAM wParam, LPARAM lParam ),之后手动添加消息响应ON_MESSAGE(HDM_LAYOUT, OnLayout),在消息响应中改变高度,实现代码如下: LRESULT CHeaderCtrlCl::OnLayo

修改一个完全颜色的CListCtrl类

在使用CListCtrl控件的过程中,我们会发现使用及其不方便,特别是在使用"report"显示模式时, 想给指定条目添加背景颜色,CListCtrl控件所提供的设置颜色函数只能使得控件的界面变得好看一些,根本不能满足我们的要求,我们无法把特定的一项或几项添加上不同的颜色以示区别. 幸运的是很多VC的使用者在改造CListCtrl类,使之更加功能强大上做了很多工作,开发出了各种各样的继承类来实现这个功能,Sven Freitag 就是其中的一员.他开发出了CListCtrl的继承类CC