获取窗口的图标HICON之后如何把图标显示在listctrl中? vc
我在程序中获得了一个窗口的HICON,但是不知道如何把图标显示在listctrl中,怎么办?各位谢谢你们的关注,不过我的问题是这样的,我是通过枚举桌面窗口来获得程序的窗口...
我在程序中获得了一个窗口的HICON,但是不知道如何把图标显示在listctrl中,怎么办?
各位谢谢你们的关注,不过我的问题是这样的,我是通过枚举桌面窗口来获得程序的窗口图标的,所以没有资源ID,那应该如何作呢? 展开
各位谢谢你们的关注,不过我的问题是这样的,我是通过枚举桌面窗口来获得程序的窗口图标的,所以没有资源ID,那应该如何作呢? 展开
3个回答
展开全部
先把图标加入一个图片列表中,在将列表图片列表和listctrl关联起来就OK了
========================
HICON icon;
CImageList imagelist;
...
...
...
imagelist.Add (icon);
m_list.SetImageList (&imagelist,LVSIL_SMALL);
=========================
========================
HICON icon;
CImageList imagelist;
...
...
...
imagelist.Add (icon);
m_list.SetImageList (&imagelist,LVSIL_SMALL);
=========================
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
HICON myIcon[3];
myIcon[0]=AfxGetApp()->LoadIcon(IDI_ICON1);//注意这里是通过LoadIcon获得HICON
myIcon[1]=AfxGetApp()->LoadIcon(IDI_ICON2);
myIcon[2]=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
myList.Create(32, 32, ILC_COLOR32, 8, 8);
for(int i=0; i < 3; i++)
{
myList.Add(myIcon[i]);
}
m_friend_list.SetImageList(&myList, LVSIL_SMALL);
for(i=0; i < 3; i++)
{
LVITEM lvitem;
lvitem.mask = LVIF_IMAGE|LVIF_TEXT;
lvitem.iItem = i;
lvitem.pszText = " ";
lvitem.iImage = i;
lvitem.iSubItem = 0;
m_friend_list.InsertItem(&lvitem);
}
----------------------
只要能获得句柄就能获得ID
----------------------
现在已经能正常显示图标了 改了这句话就行了
((CListCtrl *) lParam)->InsertItem(i,m_strTitle, i);
myIcon[0]=AfxGetApp()->LoadIcon(IDI_ICON1);//注意这里是通过LoadIcon获得HICON
myIcon[1]=AfxGetApp()->LoadIcon(IDI_ICON2);
myIcon[2]=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
myList.Create(32, 32, ILC_COLOR32, 8, 8);
for(int i=0; i < 3; i++)
{
myList.Add(myIcon[i]);
}
m_friend_list.SetImageList(&myList, LVSIL_SMALL);
for(i=0; i < 3; i++)
{
LVITEM lvitem;
lvitem.mask = LVIF_IMAGE|LVIF_TEXT;
lvitem.iItem = i;
lvitem.pszText = " ";
lvitem.iImage = i;
lvitem.iSubItem = 0;
m_friend_list.InsertItem(&lvitem);
}
----------------------
只要能获得句柄就能获得ID
----------------------
现在已经能正常显示图标了 改了这句话就行了
((CListCtrl *) lParam)->InsertItem(i,m_strTitle, i);
参考资料: 正好我最近写过一个
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询