在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);
   }
  }
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值