为什么我的listcontrl 没有图片。

编程小白_大场 2014-03-25 02:27:18
Cstream::Cstream(void)
{
}

Cstream::~Cstream(void)
{
}
BEGIN_MESSAGE_MAP(Cstream, CDockablePane)
ON_WM_CREATE()
ON_WM_SIZE()
END_MESSAGE_MAP()

int Cstream::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDockablePane::OnCreate(lpCreateStruct) == -1)
return -1;

CreateTreeCtrl();

if (!InitImageList())
{
AfxMessageBox(_T("图片创建失败"));
return -1;
}
if (!InitListCtrl())
{
AfxMessageBox(_T("列表初始化失败"));
return -1;
}

return 0;
}

void Cstream::OnSize(UINT nType, int cx, int cy)
{
CDockablePane::OnSize(nType, cx, cy);

CRect RArea;
GetClientRect(RArea);
m_SecurityList.SetWindowPos(this,RArea.left,RArea.top,RArea.Width(),RArea.Height(),/*SWP_NOACTIVATE | SWP_NOZORDER*/SWP_SHOWWINDOW);
}
void Cstream:: CreateTreeCtrl()
{
CRect RArea;
RArea.SetRectEmpty();
GetClientRect(RArea);
if (!m_SecurityList.Create(WS_CHILD | WS_VISIBLE | LVS_ICON | LVS_SHOWSELALWAYS | LVS_SINGLESEL , RArea , this , 1001 ))
{
return ;
}


}

BOOL Cstream::InitImageList()
{
CRect RArea;
RArea.SetRectEmpty();
GetClientRect(RArea);

int PicW = RArea.Width()/3-15;
int PicH = RArea.Width()/3-15;

m_SecurityImaList.DeleteImageList();
m_SecurityImaList.Create(PicW,PicH,ILC_COLOR32|ILC_COLORDDB,0,1);

for (int i=0;i<5;i++)
{
switch(i)
{
case 0:
m_dgcBmp.LoadBitmap(IDB_INFO);
m_SecurityImaList.Add(&m_dgcBmp,RGB(255,255,255));
break;
case 1:
m_xfc.LoadBitmap(IDB_INFO);
m_SecurityImaList.Add(&m_xfc,RGB(255,255,255));
break;
case 2:
m_xfy.LoadBitmap(IDB_INFO);
m_SecurityImaList.Add(&m_xfy,RGB(255,255,255));
break;
case 3:
m_jglx.LoadBitmap(IDB_INFO);
m_SecurityImaList.Add(&m_jglx,RGB(255,255,255));
break;
case 4:
m_tpxl.LoadBitmap(IDB_INFO);
m_SecurityImaList.Add(&m_tpxl,RGB(255,255,255));
break;
default:
break;
}
}
return TRUE;

}
BOOL Cstream::InitListCtrl()
{
//m_SecurityList.DeleteAllItems();
CRect RArea;
RArea.SetRectEmpty();
GetClientRect(RArea);

m_SecurityList.SetImageList(&m_SecurityImaList,LVSIL_NORMAL);
m_SecurityList.InsertColumn(0,_T("治安消防"),LVCFMT_CENTER);
m_SecurityList.SetIconSpacing(CSize(64,80));


for (int i=0;i<5;i++)
{
LVITEM it;
it.mask=LVIF_IMAGE;
it.iItem = i;
it.iSubItem = 0;

it.iImage=i;

m_SecurityList.InsertItem(&it);

}
return TRUE;
}
...全文
266 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
鸥翔鱼游1 2014-04-25
  • 打赏
  • 举报
回复
好文章。总是要支持一下
向立天 2014-04-25
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
allenhiman 2014-03-25
  • 打赏
  • 举报
回复
m_SecurityImaList.Create(PicW,PicH, ILC_COLOR32|ILC_MASK, 1, 0); 先改成这个看看
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
ImageList是否创建成功
成功了,一直有值,不知道为什么他就没有图片。
oyljerry 2014-03-25
  • 打赏
  • 举报
回复
ImageList是否创建成功

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧