首页 > 代码库 > C++ Code_ImageList
C++ Code_ImageList
主题 |
1. 创建图像列表 2. 使用图像列表绘图 3. 4. 5. |
代码::创建图像列表 |
双击 Cproject03Dlg在 下面添加 1 句 ///////////////////////////////////////////////////////////////////////////// // CProject01Dlg dialog // class CProject01Dlg : public CDialog // { // Construction // public: // CProject01Dlg(CWnd* pParent = NULL); // standard constructor CImageList m_ImgLst; 手动在资源编辑器中添加 3 个Icon资源 双击 OnInitDialog()在 // TODO: Add extra initialization here 添加如下代码 // TODO: Add extra initialization here m_ImgLst.Create( 32 , 32 ,ILC_COLOR24 | ILC_MASK, 1 , 0 ); m_ImgLst.Add( LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON1)) ); m_ImgLst.Add( LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON2)) ); m_ImgLst.Add( LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON3)) ); 使用图像列表绘图 CImageList m_ImgLst; 双击OnPaint()添加如下代码 //void CProject01Dlg::OnPaint() //{ // if (IsIconic()) // { // CPaintDC dc(this); // device context for painting // // SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // // // Center icon in client rectangle // int cxIcon = GetSystemMetrics(SM_CXICON); // int cyIcon = GetSystemMetrics(SM_CYICON); // CRect rect; // GetClientRect(&rect); // int x = (rect.Width() - cxIcon + 1) / 2; // int y = (rect.Height() - cyIcon + 1) / 2; // // // Draw the icon // dc.DrawIcon(x, y, m_hIcon); // } // else // { // CDialog::OnPaint(); CDC * pDC = GetDC(); CPoint pt; pt.x = 30 ; pt.y = 50 ; for ( int i = 0 ;i < 3 ;i ++ ) { pt.x += 60 ; m_ImgLst.Draw(pDC,i,pt,ILD_NORMAL); } ReleaseDC(pDC); // } // } 效果图: |
完成 CImageList的类 高级空间
来自为知笔记(Wiz)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。