`
paulfzm
  • 浏览: 888378 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

VC CListCtrl 图标不显示的问题

    博客分类:
  • vc++
阅读更多
VC CListCtrl 图标不显示的问题

1。没有将CImageList设置为窗体成员变量导致的。

BOOL CMyDlg::OnInitDialog()

{

CImageList images;

images.Create(15, 15, ILC_COLOR16, 1, 1);


images.Add(AfxGetApp()->LoadIcon(IDR_MAINFRAME));

m_listctrl.SetImageList(&images, LVSIL_NORMAL);

m_listctrl.SetImageList(&images, LVSIL_SMALL);

m_listctrl.SetImageList(&images, LVSIL_STATE);

m_listctrl.InsertItem(0, _T("text"), 0);

}

 

2.CImageList改成了成员变量后,可以正常显示。于是接下来尝试将ICON换成Bitmap,又出现不能显示的问题,不过只是当选中某个Item的时候,他的图片不能显示。

//CREATE IMAGELIST    
     m_images.Create(15, 15, ILC_COLOR32, 3, 3);    
    // Add my bitmap, make all black pixels transparent.
     CBitmap bm;
     bm.LoadBitmap(IDB_arrow);
     m_images.Add(&bm, RGB(0, 0, 0));

 

开始怀疑是CBitmap为局部变量所致,但是不对。后来查看那个位图资源文件的属性发现是256色的,使用ILC_COLOR32有点不大合适,于是改成了ILC_COLOR16就好了。

3.以上是Debug下解决的问题,后来出现在debug版本中图标可以正常变换,但是Release版本中图标不能变化的问题。网上查贴,一般就是说这可能是由于变量没有初始化造成的(因为debug版本会进行一些初始化,而release则没有),经查,果然如此。

使用的是CListCtrl,在不同情况下要设置不同图片,使用SetItem( ... )方法,其参数是一个结构,虽然该结构有标志位指出要使用结构中的哪个参数来进行设置,但还是要将其他参数清零才行。就是这个结构没有初始化的毛病。

分享到:
评论

相关推荐

    VC CListCtrl 使用对CListCtrl 进行了扩展

    `CListCtrl` 提供了一种灵活的方式来显示、编辑和操作数据,包括列表、图标和小图标等多种视图模式。在实际开发中,我们经常需要对其进行扩展以满足特定需求,例如改变其背景颜色。本篇文章将深入探讨如何在VC中使用...

    VC CListCtrl 类集合

    **VC CListCtrl 类集合详解** CListCtrl是MFC(Microsoft Foundation Classes)库中一个非常重要的控件,用于在窗口中显示可滚动的列表项。这个控件提供了多种视图模式,包括报告视图、图标视图、列表视图和小图标...

    VC_CListCtrl使用方法

    首先,在对话框编辑器中,从控件库中选择CListCtrl图标并将其拖放到对话框模板上。然后,为控件创建一个成员变量,如: ```cpp CListCtrl m_BlogAccountList; ``` 这将使你可以从类的成员函数中访问和操作...

    CListCtrl控件添加 ChekcBox复选框

    CListCtrl控件通常用于显示列表形式的数据,包括文本、图像等。在这个主题中,我们将深入探讨如何在CListCtrl控件中添加复选框功能,以及实现全选按钮的操作。 首先,我们要明白CListCtrl的基本用法。它是基于...

    在CListCtrl控件上演示右键菜单

    Visual C++ 6.0 编写。 1。控件CListCtrl的用法示例。包括他的四种风格:图标、小图标、列表、详细资料的示例程序。是学习ClistCtrl控件的绝对好资料。 2。右键菜单,在CListCtrl中演示右键菜单功能。

    CListCtrl控件代码大集合

    3. **图标和图像列表**:CListCtrl可以显示图标,通过SetImageList函数设置图像列表,InsertItem时指定图标索引。这使得控件能够显示带有图标的列表项,增强了视觉效果。 4. **自定义消息和通知**:CListCtrl会发送...

    CListCtrl设置行高

    CListCtrl继承自CListView,支持多种显示方式,如报告模式、图标模式等。控件通过发送LVN_GETDISPINFO通知消息,请求列表项显示信息,而LVN_MEASUREITEM通知消息则用于获取列表项的高度信息。当控件处于报告模式时,...

    VC使用listCtrl显示目录并有FTP功能的实例

    在整个过程中,需要添加适当的错误处理代码,以捕获可能的异常情况,如网络问题、权限错误或文件不存在等。使用AfxMessageBox()显示错误信息给用户。 通过以上步骤,我们可以创建一个功能完备的VC6.0应用程序,它...

    CListCtrl 显示图片

    图标通常用于显示较小的固定尺寸图像,而缩略图则可以显示较大、比例不固定的图像。MFC提供了两种类型的图片列表:LVIL_TYPE_IMAGE(图标列表)和LVIL_TYPE_SMALLICON(小图标列表),分别对应CListCtrl中的大图标和...

    VC MFC 桌面图标管理工具

    为了解决这一问题,开发者们利用Microsoft Visual C++(简称VC)的MFC(Microsoft Foundation Classes)库开发出了一款桌面图标管理工具。这款工具允许用户轻松地拖放文件,添加、删除和整理桌面上的应用程序图标,...

    VC MFC 桌面图标管理软件

    【VC MFC 桌面图标管理软件】是一款基于Microsoft Visual C++的MFC(Microsoft Foundation Classes)框架开发的应用程序,旨在提供一个简洁且高效的桌面图标管理解决方案。MFC是微软为C++开发者提供的一个库,它封装...

    vc中带checkbox的clistctrl

    在Microsoft Visual C++ (VC++)开发环境中,`CListCtrl`是MFC(Microsoft Foundation Classes)库中的一个类,用于创建具有多种功能的列表视图控件,如显示列表项、图标、子项等。本实例主要关注的是如何在`...

    高度和背景色都可以设置的CListCtrl

    CListCtrl是基于Windows API中的ListView控件,它可以显示一列或几列的文本和图标,通常用于数据列表的展示。默认情况下,行高和背景色由系统设定,但通过编程方式,我们可以改变这些默认设置。 要设置CListCtrl的...

    可编辑子项的CListCtrl类VC++6.0

    CListCtrl类是MFC中用于创建列表视图控件的一个关键组件,它允许用户显示多列数据,并支持多种视图模式,如报告、小图标、大图标和列表。然而,标准的CListCtrl类默认并不支持直接编辑列表中的子项。为了实现这个...

    Clistctrl 控件的缩略图

    CListCtrl本身并不直接支持显示图片,但它可以通过插入自定义视图(Item)并设置图标来达到这一目的。我们可以创建一个自定义的视图类,重写OnDrawItem方法,在这里利用GDI+来绘制图片的缩略图。 描述中提到的“点...

    CListCtrl,vc6列表框拖动程序

    `CListCtrl`是MFC对Windows API中的`LISTVIEW`控件的封装,它提供了多种视图模式,如图标、列表、详细信息等。你可以通过添加、删除、修改列表项来操作数据。`CListCtrl`支持虚拟模式,即只在需要时加载数据,这...

    CListCtrl简单自绘并在每行动态生成按钮_vc6.0

    在这个项目中,开发者尝试通过自定义绘制功能,使得CListCtrl不仅能够显示列表项,还能在每行中动态生成按钮。自定义绘制是高级用户为了实现特定界面效果而使用的一种技术,它允许程序员控制控件的外观,例如颜色、...

    CListCtrl控件实现Item项拖拽效果

    CListCtrl控件通常用于显示列表形式的数据,包括图标、文本等。在这个主题中,我们将深入探讨如何利用CListCtrl实现Item项的拖拽效果,这对于创建具有交互性的应用程序非常有用。 首先,我们需要了解CListCtrl的...

    VC CTreeCtrl,CListCtrl 资源管理器

    在这个场景中,"VC CTreeCtrl, CListCtrl 资源管理器"是一个基于MFC的应用程序开发实例,它利用CTreeCtrl和CListCtrl这两个控件来实现类似Windows资源管理器的界面和功能。 **CTreeCtrl** 是MFC中的一个类,它封装...

    CListCtrl 实现排序功能并且添加图标

    本篇将深入探讨如何利用CListCtrl来实现排序功能,并在列标题上添加排序图标,以增强用户体验。 首先,我们需要了解CListCtrl的基本操作。CListCtrl是一个视图类,继承自CWnd,主要用于显示列表项,每个列表项可以...

Global site tag (gtag.js) - Google Analytics