| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2102 人关注过本帖
标题:在MFC CListCtrl 的LVS_ICON 和LVS_REPORT是否冲突?
只看楼主 加入收藏
JINyuanbao
Rank: 2
等 级:论坛游民
帖 子:9
专家分:13
注 册:2010-7-20
结帖率:0
收藏
已结贴  问题点数:0 回复次数:2 
在MFC CListCtrl 的LVS_ICON 和LVS_REPORT是否冲突?
  在MFC CListCtrl 的LVS_ICON 和LVS_REPORT是否冲突?
我想用CImageList 和CListCtrl结合绘制一个多行多列的缩略图列表 但每次设置Listctrl属性时
void CListViewView::OnInitialUpdate()
{
    CView::OnInitialUpdate();

    // TODO: 在此添加专用代码和/或调用基类
    CRect rect;
    ::GetWindowRect(m_hWnd,rect);
    ScreenToClient(&rect);
    m_ListCtrl.Create( WS_CHILD | WS_VISIBLE | WS_BORDER | LVS_SHOWSELALWAYS
        |LVS_ALIGNTOP|LVS_ICON|LVS_SINGLESEL|LVS_AUTOARRANGE,rect,this,12309);

    m_ListCtrl.InsertColumn(0, _T("浏览"), LVCFMT_IMAGE|LVCFMT_CENTER, 200);
    m_ListCtrl.InsertColumn(1, _T("马赛克"), LVCFMT_IMAGE|LVCFMT_CENTER, 200);
    m_ListCtrl.InsertColumn(2, _T("提色"), LVCFMT_CENTER, 200);


    m_ImageList.Create(160, 120, ILC_COLORDDB|ILC_MASK, 20, 1);

    m_ListCtrl.SetImageList(&m_ImageList, LVSIL_NORMAL);
    // 设置行距和间距
    m_ListCtrl.SetIconSpacing(CSize(160+10,120+10));
   
        // 重置CImageList
    for(int i=0; i<m_ImageList.GetImageCount(); i++)
        m_ImageList.Remove(i);   

    // 删除ClistCtrl内容
    m_ListCtrl.DeleteAllItems();

    int m_listRowCount = 10;

    CBitmap* bitmap;

    bitmap=new CBitmap[m_listRowCount];

    HBITMAP hbitmap;

    for(int i = 0; i < m_listRowCount; i++)
    {

        //为每一行插入相应的缩略图
        hbitmap = (HBITMAP)LoadImage(AfxGetInstanceHandle(),_T("111.bmp"),IMAGE_BITMAP,0,0,

            LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);

        bitmap[i].Attach(hbitmap);

        m_ImageList.Add(&bitmap[i], RGB(0, 128, 128));

        //插入行

        m_ListCtrl.InsertItem(i,_T("01.jpg"),i);

        m_ListCtrl.SetItemText(i,1,_T("JPEG"));

        m_ListCtrl.SetItemText(i,2,_T("FAN"));

    }
    //记得删除已经没用的临时文件

    if(m_listRowCount!=0)

        delete[] bitmap;
}
显示效果是无法达到多行多列的;
而这里我想加入LVS_REPORT使得ListCtrl有报表效果,结果所有图片都没有了。变成了都是数据的报表?

没什么分人穷
 还请各位大哥帮忙  谢谢!!
搜索更多相关主题的帖子: MFC ICON REPORT LVS CListCtrl 
2010-11-04 10:24
pbreak
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:83
专家分:558
注 册:2007-5-10
收藏
得分:20 
可以自定义CListCtrl类,网上有这样的例子,实现可以插入图标的例子。
2010-11-04 11:42
JINyuanbao
Rank: 2
等 级:论坛游民
帖 子:9
专家分:13
注 册:2010-7-20
收藏
得分:0 
谢谢大家了!原来需要以下的这一扩展属性
    //////////////////////////////////////////////////////////////////////////
    // 注意:LVS_EX_SUBITEMIMAGES 这个是关键样式
    //////////////////////////////////////////////////////////////////////////
    DWORD dwStyle = m_ListCtrl.GetExtendedStyle();
    dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl)
    dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl)
    dwStyle |= LVS_EX_SUBITEMIMAGES;
    m_ListCtrl.SetExtendedStyle(dwStyle); //设置扩展风格
2010-11-05 09:40
快速回复:在MFC CListCtrl 的LVS_ICON 和LVS_REPORT是否冲突?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028046 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved