qq软件主界面的listctrl是可以说非常经典了,一个字漂亮!.docVIP

qq软件主界面的listctrl是可以说非常经典了,一个字漂亮!.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
qq软件主界面的listctrl是可以说非常经典了,一个字漂亮!

QQ软件主界面的ListCtrl 是可以说非常经典了,一个字漂亮! 这个ListCtrl的所包含的信息之丰富,更是让我们这些软件工程师望Q兴叹! 今天,我将和大家一起来写一个属于自已的CMyListCtrl。 一、实现CMyListCtrl要完成的任务及实现方法分析。 1.MyListCtrl 显示彩色图片头像(在线用户头) 让CMyListCtrl 显示彩色图片作为头像很容易,用CImageList 加载规格相同的图片到其中,然后让CimageList和CMyListCtrl关联就可实现, 向ImageList 添加图片或图标的三种方法代码总结如下: CImageList m_imageList; m_imagelist.Create(40, 40, ILC_MASK|ILC_COLOR32, 1, 1); //添加ID 为IDI_ICON的图标 m_imageList.Add( AfxGetApp()-LoadIcon(IDI_ICON)); //从图标文件中加载并添加 HICON hIcon = (HICON)LoadImage(NULL, .\\image\\SQQun.ico, IMAGE_ICON, 0, 0, LR_LOADFROMFILE) m_imagelist.Add(hIcon); //从位图文件中加载并添加 CBitmap *pBitmap=new CBitmap; pbitmap -m_hObject = (HBITMAP) LoadImage(NULL, face.bmp, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); m_imagelist.Add(pBitmap, RGB(255,255, 255)/*mask color*/); … Delete pBitmap; 把 CMyListCtrl 和CimageList 关联并向ListCtrl 添加用户代码 //先创建ListCtrl (m_MyFriendListCtrl) if(m_MyFriendListCtrl.Create(LVS_SMALLICON | WS_TABSTOP|WS_CHILD, CRect(50,100,206,180), this, IDD_TALKER_LIST/*ID*/)) { //关联 m_MyFriendListCtrl.SetImageList(m_imagelistBig,LVSIL_SMALL); m_MyFriendListCtrl.SetBackBitmap(_T(.\\image\\mainFrame-centerMid.bmp)); //往ListCtrl 中添加好友 for(int i=0; i10; i++) { CString strTemp; strTemp.Format(我的好友%d,i); LUSERITEM userInfo; userInfo.szUserID = strTemp.GetBuffer(strTemp.GetLength()); strTemp.ReleaseBuffer(); userInfo.szNoticeMsg = _T(天不怕!地不怕!); m_MyFriendListCtrl.InsertItem(i,strTemp, i,userInfo);//第三个参数 Index of the ImageList m_MyFriendListCtrl.SetItemData(i,(i%2)? i|0i); } m_MyFriendListCtrl.ShowWindow(SW_SHOW); } 2.让CMyListCtrl 显示灰色图片头像(非在线用户) 显示灰色图片的方法可用图像处理软件处理成单色位图文件后使用,也可用软件代码实现转换,前者的方法处理位图文件个数不多是还行,否则就显得麻烦了,其优点运行速度快。用软件代码转换的方法也是可行的,象LoadImage ()或CopyImage()API都可实现,但要占用很多CUP时间。对比两种方法,我选择后者,原因不用说我想大家也清楚。 实现彩色图片到单色位图转换的

文档评论(0)

ld1594069 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档