WEB开发网
开发学院软件开发VC 让你的软件界面更漂亮(六)仿QQ主界面之ListCtrl 阅读

让你的软件界面更漂亮(六)仿QQ主界面之ListCtrl

 2008-01-19 20:25:25 来源:WEB开发网   
核心提示:QQ软件主界面的ListCtrl 是可以说非常经典了,一个字漂亮! 这个ListCtrl的所包含的信息之丰富,让你的软件界面更漂亮(六)仿QQ主界面之ListCtrl,更是让我们这些软件工程师望Q兴叹! 今天,我将和大家一起来写一个属于自已的CMyListCtrl,一、实现CMyListCtrl要完成的任务及实现方法分

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, ".imageSQQun.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(".imagemainFrame-centerMid.bmp"));
     //往ListCtrl 中添加好友
     for(int i=0; i<10; 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|0x00000020:i);
     }
     m_MyFriendListCtrl.ShowWindow(SW_SHOW);
}

1 2 3 4  下一页

Tags:软件 界面 漂亮

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接