主题

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的类 高级空间
 

C++ Code_ImageList的更多相关文章

随机推荐

  1. C语言练习代码

    1.运用for循环根据输入的金字塔层数,输出金字塔 eg: #include <stdio.h>int main(void){ int i,j,num; printf("请输入三 ...

  2. stl 中List vector deque区别

    stl提供了三个最基本的容器:vector,list,deque.         vector和built-in数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此     它能非常好的支持随 ...

  3. Linux-sort用法

    本文为转载,原地址:http://www.cnblogs.com/dong008259/archive/2011/12/08/2281214.html sort命令是帮我们依据不同的数据类型进行排序, ...

  4. BITED-Windows8应用开发学习札记之二:Win8应用常用视图设计

    感觉自我表述能力有欠缺,技术也不够硬,所以之后的Windows8应用开发学习札记的文章就偏向于一些我认为较难的地方和重点了多有抱歉. 上节课是入门,这节课就已经开始进行视图设计了. Windows应用 ...

  5. 获取子窗口中使用jQuery.data()设置的参数

    http://hyj1254.iteye.com/blog/643035 假设在iframe子窗口中设置了$('#mydata').data('key','hello world'); 那在包含ifr ...

  6. 阿里云存储OSS之九大使用技巧

    http://www.biphp.com/cloud-computing/%E9%98%BF%E9%87%8C%E4%BA%91%E5%AD%98%E5%82%A8oss%E4%B9%8B%E4%B9 ...

  7. Mellanox vma

    1,Mellanox offical vma Installation guide personal reading summarize VMA是一个消息加速器messaging accelerato ...

  8. SQL2008 SQL Server 代理服务提供的凭据无效

    工作中遇到的问题记录: 安装到服务器配置时出的错误:为 SQL Server 代理服务提供的凭据无效.若要继续操作,请为 SQL Server 代理服务提供有效的帐户和密码. 解决方法:直接在所有的“ ...

  9. C#实现office文档转换为PDF或xps的一些方法( 转)

    源博客http://blog.csdn.net/kable999/article/details/4786654 代码支持任意office格式 需要安装office 2007 还有一个office20 ...

  10. C++11模板的别名

    [C++模板的别名] 参考:http://zh.wikipedia.org/wiki/C++0x#.E6.A8.A1.E6.9D.BF.E7.9A.84.E5.88.A5.E5.90.8D