一个关于图象列表的简单问题
如何在图象列表中添加图象:我见几本书上都这样写
CImageList list,smalllist;
list.Create( IDI_ICON1, 16, 1, RGB(255,255,0));
m_listctrl.SetImageList( &list, LVSIL_NORMAL );
smalllist.Create( IDI_ICON2, 16, 1, RGB(255,255,0));
m_listctrl.SetImageList( &smalllist, LVSIL_SMALL );
然后调用
m_listctrl.InsertItem(1,"two",0);
添加文本,但我试了一下,文本能出来,图象位置也空了出来,但图象总千户万唤不出来,真是一筹莫展。
问题点数:20、回复次数:8Top
1 楼nustchen(壁虎)回复于 2001-08-29 20:02:32 得分 0
你的icon里面是不是只有一幅图象,你应该多加几副图象Top
2 楼shipatrioc(风吹雨打哗啦啦)回复于 2001-08-29 20:07:30 得分 0
我加了两副,IDI_ICON1,IDI_ICON2,请问加几副和一副有甚么关系Top
3 楼rovoboy(魂之猎人)回复于 2001-08-29 20:19:54 得分 20
把CImageList定义成类成员变量,而不能是局部变量.
m_listctrl.SetImageList只记录了list的指针,出了函数之后,CImageList销毁,m_listctrl的ImageList就成了无源之水.当然没有显示啦.
加几副和一副没有关系 Top
4 楼shipatrioc(风吹雨打哗啦啦)回复于 2001-08-29 20:53:42 得分 0
我试了一下,把list定以为类成员变量,还是不行。函数代码如下,在:OnInitDialog()
list.Create(IDI_ICON1,32,1,RGB(111,0,255));
m_ListCtrl.SetImageList(&list,LVSIL_NORMAL);
m_ListCtrl.InsertItem(0,"one");
其中IDI_ICON1为标准32*32,列表框属性的styles为icon,真是见鬼了Top
5 楼rovoboy(魂之猎人)回复于 2001-08-30 18:05:43 得分 0
试试这个
pBM=new CBitmap;
pBM->LoadFromResourceID(IDB_CURVE_TITLE,NULL);//16*16
m_ImageList.Add(pBM,RGB(255,255,254));
m_pCurveList->InsertItem(0,"", ni++);
m_pCurveList->SetItem(0,1,LVIF_TEXT,m_CurveInfo[i],1,NULL,NULL,NULL);
sprintf(tmp,"%f",m_pPointFloat[i][tPoint.x]);
m_pCurveList->SetItem(0,2,LVIF_TEXT|LVIF_IMAGE,tmp,1,NULL,NULL,NULL);
Top
6 楼happymeng(晓梦)回复于 2001-08-30 23:24:20 得分 0
MASK值不正确,试一下RGB(255,255,255)Top
7 楼shipatrioc(风吹雨打哗啦啦)回复于 2001-08-31 21:04:27 得分 0
倒腾了两天终于给弄成了,我引入的是一个图标,应该是一个位图,另外,确实应该把CImageList变量声名为类的成员变量,还有crMask参数好象没关系Top
8 楼rovoboy(魂之猎人)回复于 2001-09-01 21:33:59 得分 0
crMask参数有关系的,你用RGB(255,255,255),图标中的纯白就是透明色Top




