如何使用ListCtrl显示图片? 反复试验不得其门,还请大虾指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://blog.csdn.net/jiangsheng/archive/2003/11/20/3796.aspx http://www.codeguru.com/Cpp/controls/listview/Using images http://www.vckbase.com/document/viewdoc/?id=400 void CYouDlg::InitListCtrl(){ _listAttr.GetClientRect(&rect); int nColInterval = rect.Width()/3; _listAttr.InsertColumn(0, _T("屬性"), LVCFMT_LEFT, nColInterval); _listAttr.InsertColumn(1, _T("説明"), LVCFMT_LEFT, 2*nColInterval); _listAttr.SetExtendedStyle(LVS_EX_FULLROWSELECT); CBitmap bmp; if (_imageList != NULL) { delete _imageList ; _imageList = NULL ; } _imageList = new CImageList(); ASSERT(_imageList != NULL); // serious allocation failure checking _imageList->Create(60, 20, ILC_COLOR16, 0, 10); int i = 0;{ bmp.LoadBitmap(IDB_SOLIDSQUARE) _imageList->Add(&bmp, ILC_COLOR16); bmp.DeleteObject(); LVITEM lvi; lvi.mask = LVIF_IMAGE | LVIF_TEXT; lvi.iItem = i; lvi.iSubItem = 0; CString tmp = "aa"; lvi.pszText = (LPTSTR)(LPCTSTR)(tmp); lvi.iImage = i; _listAttr.InsertItem(&lvi); lvi.iSubItem = 1; tmp = "bb" lvi.pszText = (LPTSTR)(LPCTSTR)(tmp); _listAttr.SetItem(&lvi); i++; } _listAttr.SetImageList(_imageList, LVSIL_SMALL);} class COnlineList : public CListCtrl{ ...... protected: CImageList m_imgList; ......};int COnlineList::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CListCtrl::OnCreate(lpCreateStruct) == -1) return -1; m_imgList.Create(IDB_IMAGE, 16, 1, RGB(0, 255, 0));//要自己加载一幅图标 HIMAGELIST him = m_imgList.m_hImageList; ::SendMessage(this->m_hWnd,LVM_SETIMAGELIST,(WPARAM)LVSIL_SMALL,(LPARAM)him);// ::SendMessage(this->m_hWnd,LVM_SETIMAGELIST,(WPARAM)LVSIL_NORMAL,(LPARAM)him); ImageList_SetBkColor(him,CLR_NONE); return 0;} 上当了?用了下vs2008发现没什么高明之处呀? 孙鑫老师的那个VC视频教程配套书是哪一本呀? 实验课 快速排序(实在不懂谁能帮下忙) 如何找BMP图像的黑白分界线 在窗口客户区内画图,图的大小远大于客户区,这样就要求利用滚动条来滚动刷新,可是现在速度很慢,有何好办法? 如何控制用户只能打开一次程序?在打开第二次的时候自动跳到该已经打开的程序 [问题]Java 传递中文 jstring 至 VC 写成的 DLL 给一个CString变量赋值的问题 初学VC,遇难,高手请指点一下,谢谢了!!! 一个学习VC的人的困惑 字体滚动问题 为何调用Create创建非模态对话框不成功?
{
_listAttr.GetClientRect(&rect);
int nColInterval = rect.Width()/3; _listAttr.InsertColumn(0, _T("屬性"), LVCFMT_LEFT, nColInterval);
_listAttr.InsertColumn(1, _T("説明"), LVCFMT_LEFT, 2*nColInterval);
_listAttr.SetExtendedStyle(LVS_EX_FULLROWSELECT);
CBitmap bmp;
if (_imageList != NULL)
{
delete _imageList ;
_imageList = NULL ;
}
_imageList = new CImageList();
ASSERT(_imageList != NULL); // serious allocation failure checking
_imageList->Create(60, 20, ILC_COLOR16, 0, 10); int i = 0;
{
bmp.LoadBitmap(IDB_SOLIDSQUARE)
_imageList->Add(&bmp, ILC_COLOR16); bmp.DeleteObject();
LVITEM lvi;
lvi.mask = LVIF_IMAGE | LVIF_TEXT; lvi.iItem = i;
lvi.iSubItem = 0;
CString tmp = "aa"; lvi.pszText = (LPTSTR)(LPCTSTR)(tmp);
lvi.iImage = i;
_listAttr.InsertItem(&lvi); lvi.iSubItem = 1;
tmp = "bb"
lvi.pszText = (LPTSTR)(LPCTSTR)(tmp);
_listAttr.SetItem(&lvi);
i++;
}
_listAttr.SetImageList(_imageList, LVSIL_SMALL);
}
{
......
protected:
CImageList m_imgList;
......
};
int COnlineList::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CListCtrl::OnCreate(lpCreateStruct) == -1)
return -1;
m_imgList.Create(IDB_IMAGE, 16, 1, RGB(0, 255, 0));//要自己加载一幅图标
HIMAGELIST him = m_imgList.m_hImageList;
::SendMessage(this->m_hWnd,LVM_SETIMAGELIST,(WPARAM)LVSIL_SMALL,(LPARAM)him);
// ::SendMessage(this->m_hWnd,LVM_SETIMAGELIST,(WPARAM)LVSIL_NORMAL,(LPARAM)him);
ImageList_SetBkColor(him,CLR_NONE); return 0;
}