怎么想CListCtrl中的一行添加图标

怎么想CListCtrl中的一行添加图标,第1张

CImageList* m_pImageList

int AddIcon(HICON hIcon)

{

if (!m_pImageList)

{

return -1

}

return m_pImageList->Add(hIcon)

}

1 控件本身,只有第一列可以加图标,可以通过交换两列实现。

2 可以,就是利用控件自绘,单元格的内容完全自己画

参考

http://www.codeproject.com/KB/list/lvcustomdraw.aspx

http://www.codeproject.com/KB/list/xlistctrl.aspx

获取窗口的图标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=0i <3i++)

{

myList.Add(myIcon[i])

}

m_friend_list.SetImageList(&myList, LVSIL_SMALL)

for(i=0i <3i++)

{

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


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11274917.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存