主题

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. When not to automate 什么时候不进行自动化

    The cornerstone of test automation is the premise that the expected application behavior is known. W ...

  2. opengl奔溃问题

    按照网上的教程编译成功,当时运行时老是奔溃(不弹出任何提示,窗口变灰色).遂更新了ATI的显卡驱动果然可以运行了,哈哈 http://support.amd.com/en-us/download/de ...

  3. kinect 录制彩色和深度视频

    安装 KinectSDK-v1.8-Setup.exe OpenNI-Windows-x86-2.1.0.msi Qt工程 拷贝 Redist 下内容到 编译的exe所在目录 #include < ...

  4. SSD Cloud Hosting - Linode的配置和部署,搭建Java环境

    0.发牢骚 前一个月在淘宝购买了个Jsp空间,挺便宜的,才38元/年.部署了程序,然后ALIMAMA验证网站,一直提示验证失败.最后找卖家,他说可能是因为空间太慢,照他的推荐换了最好的空间,138元/ ...

  5. MapReduce 中job.setJarByClass()方法的疑惑

    在调试mr实例的时候,遇到如下的情况,如图所示 说明:就是我的mr程序类名称和我设置的setJarByclass()中设置的不一样,但是程序竟然没有报错!!!!当时把我吓尿了 疑惑:如果这样设置的话, ...

  6. 转-问自己:UI设计注意的十个问题

    UI 设计需要自问的 10个问题   UI 设计的魅力在于,你不仅需要适当的技巧,更要理解用户与程序的关系.一个有效的用户界面关注的是用户目标的实现,包括视觉元素与功能操作在内的所有东西都需要完整一致 ...

  7. [转] Web前端优化之 Javascript篇

    原文链接: http://lunax.info/archives/3099.html Web 前端优化最佳实践之 JavaScript 篇,这部分有 6 条规则,和 CSS 篇 重复的有几条.前端优化 ...

  8. webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器

    #webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器 -- 工欲善其事 必先利其器 ##各工具介绍 `webstorm`是**JetBrains* ...

  9. Java NIO 操作总结

    问题: 1.Java NIO 出现大量CLOSE_WAIT或TIME_WAIT的端口无法释放 CLOSE_WAIT: 参考:http://my.oschina.net/geecoodeer/blog/ ...

  10. APIO2014 爆零总结

    真心爆零 不要不服 这次apio给了一种新的赛制 看上去很好? 所有人都可以在线提交 并且实时知道自己的分数 它对每个题目分成若干分数段 每个分数段有若干数据 要获得这个分数段的分数需要通过这个分数段 ...