首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

请问个:CListCtrl插入图片有关问题

2012-02-29 
请教个:CListCtrl插入图片问题大家帮我看看:listcompany_thxd.SetExtendedStyle(LVS_EX_SUBITEMIMAGES|LVS

请教个:CListCtrl插入图片问题
大家帮我看看:
listcompany_thxd.SetExtendedStyle(LVS_EX_SUBITEMIMAGES|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|listcompany_thxd.GetExtendedStyle()|LVIF_IMAGE);
SetWindowLong(listcompany_thxd.m_hWnd, GWL_STYLE,(GetWindowLong(listcompany_thxd.m_hWnd, GWL_STYLE) & ~LVS_TYPEMASK) | LVS_REPORT);

CImageList m_ImageList; 
for(int q=0;q<m_ImageList.GetImageCount();q++)
m_ImageList.Remove(q);
static int flag=2;
if(flag==2)
{//只调用一次SetImageList,否则出错
  m_ImageList.Create(17, 17, ILC_COLORDDB||ILC_MASK, 1, 1); 
}
flag=(flag+1)%2;

CBitmap *bmp;
bmp = new CBitmap[sql.GetRowNum()]; //
char abc[12];
int index;
for(int j=0;j<sql.GetRowNum();j++)
{
bmp[j].LoadBitmap(IDB_RING);
index = m_ImageList.Add(&bmp[j],RGB(255,255,255)); 
sprintf(abc,"index:%d\n",index);
//AfxMessageBox(abc);//测试正常
}
listcompany_thxd.SetImageList(&m_ImageList,LVSIL_SMALL);

//========================================================
int i;
int itemlist;
for(i=0;i<sql.GetRowNum();i++)
{

sql.GetRecord();
itemlist = listcompany_thxd.InsertItem(i,sql.row[0],i);
//itemlist = listcompany_thxd.InsertItem(i,sql.row[0]);
listcompany_thxd.SetItemText(itemlist,1,sql.row[1]);
listcompany_thxd.SetItemText(itemlist,2,sql.row[3]);
listcompany_thxd.SetItemText(itemlist,3,sql.row[2]);
listcompany_thxd.SetItemText(itemlist,4,sql.row[5]);
listcompany_thxd.SetItemText(itemlist,5,sql.row[6]);
listcompany_thxd.SetItem(itemlist,6,LVIF_IMAGE|LVIF_TEXT,NULL,i,0,0,0);//i也为图片索引,想在这行加图片,但只显示个白条
}
delete[] bmp;

[解决办法]
you must declare the variable m_ImageList in your header file
[解决办法]
把ImageList做为类的成员变量,而不是局部变量。

热点排行