各位大哥,请帮我测试一个下面这段代码?我不知道为什么,图标加入CListCtrl中后,图标的背景是黑色的?还有呀,怎么把图标设置大些,并且如何让CListCtrl整齐排列?比如一行显示3个,就让它左边一个,中间一个,右边一个.这要怎么呀.首先在.h文件中定义:
CImageList m_pImageList;
CListCtrl m_listctrl;
在.CPP文件中代码如下:
void CDdDlg::InitList()
{
m_pImageList.Create(32,32,ILC_COLOR32,0,20);//设置listctrl控件的图标
CRect rectlist;
this->GetClientRect(&rectlist);
rectlist.top=0;
rectlist.left=110;
rectlist.bottom=rectlist.bottom;
rectlist.right=rectlist.right;

m_listctrl.Create(WS_CHILD|WS_VSCROLL   |WS_VISIBLE|LVS_ICON,
rectlist,this,ID_POP_LISTCTRL);

this->m_listctrl.ModifyStyle(LVS_EDITLABELS, 0L); //禁止标题编辑
m_listctrl.ModifyStyle(0L, LVS_ICON); //设为Report类型
m_listctrl.ModifyStyle(0L, LVS_SHOWSELALWAYS); //始终高亮度被选中的表项
m_listctrl.ModifyStyle(0L, LVS_NOSORTHEADER); m_listctrl.ModifyStyle( LVS_OWNERDRAWFIXED,0L); m_listctrl.SetExtendedStyle(LVS_EX_FLATSB);//扁平风格的滚动条 CString szOpenFileName="D:\\游戏升级程序\\Down\\DownLoad\\editplus.exe";
SHFILEINFO info;
SHGetFileInfo(szOpenFileName,0,&info,sizeof(&info),SHGFI_DISPLAYNAME | SHGFI_ICON);
m_pImageList.Add(info.hIcon);
m_listctrl.SetImageList(&m_pImageList,LVSIL_NORMAL);//listctrl控件最简单的位图加载
m_listctrl.InsertItem(0,"图标下面的显示文字",0);
}