展开全部
获取窗口的图标HICON之后如何把图标显示在listctrl中? vc
悬赏分:30 - 解决时间:2008-4-15 20:00
我在程序中获得了一个窗口的HICON,但是不知道如何把图标显示在listctrl中,怎么办?
问题补充:各位谢谢你们的关注,不过我的问题是这样的,我是通过枚举桌面窗口来获得程序的窗口图标的,所以没有资源ID,那应该如何作呢?
提问者: koko200147 - 举人 四级 最佳答案
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);
参考资料:正好我最近写过一个
回答者: 皇家救星1985 - 江湖大侠 八级 4-14 18:58
悬赏分:30 - 解决时间:2008-4-15 20:00
我在程序中获得了一个窗口的HICON,但是不知道如何把图标显示在listctrl中,怎么办?
问题补充:各位谢谢你们的关注,不过我的问题是这样的,我是通过枚举桌面窗口来获得程序的窗口图标的,所以没有资源ID,那应该如何作呢?
提问者: koko200147 - 举人 四级 最佳答案
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);
参考资料:正好我最近写过一个
回答者: 皇家救星1985 - 江湖大侠 八级 4-14 18:58
参考资料: http://zhidao.baidu.com/question/51390183.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询