zoukankan      html  css  js  c++  java
  • 在MFC程序中显示JPG/GIF图像


      在“E:/兴辉俊武/vc++学习笔记/动画图片操作/JPG图像加载及超连接”定义了所需的类
      CPictureCtrl 使你可以在任何对话框或窗口中把图像作为子窗口显示。
      例如: 关于对话框中加载IDC_MYIMAGE图像
      class CAboutDialog : public CDialog {
      protected:
       CPictureCtrl m_wndPict;
       virtual BOOL OnInitDialog();
      };
      BOOL CAboutDialog::OnInitDialog()
      {
       m_wndPict.SubclassDlgItem(IDC_MYIMAGE,this);// IDC_MYIMAGE和变量m_wndPict建立联系
       return CDialog::OnInitDialog();
      } 
      在文档/视图中加载JPG/GIF图像
      在doc.h中
      #pragma once
      #include "Picture.h"
      protected:
       CPicture m_pict;
      public:
       CPicture* GetPicture() {
       return &m_pict;
      doc.cpp
      #include <afxdisp.h>
      #include <afxpriv2.h>
      void CPictureDoc::Serialize(CArchive& ar)//打开图片在文档中显示
      {
       if (ar.IsLoading()) {
       VERIFY(m_pict.Load(ar));
       } else { }
      }
      BOOL CPictureDoc::OnNewDocument()/*为了使程序更实用,CPictureDoc::OnNewDocument从程序资源数据加载了一幅图像。为了显示这幅图像,CPictureView::OnDraw要调用CPicture::Render。这样程序一启动便会显示一幅默认的图像。*/
      {
       m_pict.Load(IDR_MAINFRAME);
       return TRUE;
      }
      void CPictureView::OnDraw(CDC* pDC)
      {
       CPictureDoc* pDoc = GetDocument();
       ASSERT_VALID(pDoc);
       CPicture* ppic = pDoc->GetPicture();
       ASSERT(ppic);
       if (*ppic) {
       CRect rc;
       GetImageRect(rc);// GetImageRect是CPictureView类的一个成员函数
       ppic->Render(pDC,rc);
       }
      }
     
  • 相关阅读:
    linux 监控(未完...)
    linux命令快速入门
    [转]开源语音数据集
    websocket-client 试用简记
    gevent BrokenPipeError[未解决]
    locust 试用简记
    pydub 把音频按时间段切成小段(结合ffmpeg)
    ffmpeg & ffmpeg-python 试用(音频)
    Vue父组件向子组件传递数据
    uni-app 中 使用 scroll-view 想要手指触摸滑动,竟然不生效
  • 原文地址:https://www.cnblogs.com/rainbowzc/p/2422165.html
Copyright © 2011-2022 走看看