在MFC程序中显示JPG/GIF图像


  在“E:\兴辉俊武\vc++学习笔记\动画图片操作\JPG图像加载及超连接”定义了所需的类
  CPictureCtrl使你可以在任何对话框或窗口中把图像作为子窗口显示。
  例如:关于对话框中加载IDC_MYIMAGE图像
  classCAboutDialog:publicCDialog{
  protected:
  CPictureCtrlm_wndPict;
  virtualBOOLOnInitDialog();
  };
  BOOLCAboutDialog::OnInitDialog()
  {
  m_wndPict.SubclassDlgItem(IDC_MYIMAGE,this);//IDC_MYIMAGE和变量m_wndPict建立联系
  returnCDialog::OnInitDialog();
  }
  在文档/视图中加载JPG/GIF图像
  在doc.h中
  #pragmaonce
  #include"Picture.h"
  protected:
  CPicturem_pict;
  public:
  CPicture*GetPicture(){
  return&m_pict;
  doc.cpp
  #include<afxdisp.h>
  #include<afxpriv2.h>
  voidCPictureDoc::Serialize(CArchive&ar)//打开图片在文档中显示
  {
  if(ar.IsLoading()){
  VERIFY(m_pict.Load(ar));
  }else{}
  }
  BOOLCPictureDoc::OnNewDocument()/*为了使程序更实用,CPictureDoc::OnNewDocument从程序资源数据加载了一幅图像。为了显示这幅图像,CPictureView::OnDraw要调用CPicture::Render。这样程序一启动便会显示一幅默认的图像。*/
  {
  m_pict.Load(IDR_MAINFRAME);
  returnTRUE;
  }
  voidCPictureView::OnDraw(CDC*pDC)
  {
  CPictureDoc*pDoc=GetDocument();
  ASSERT_VALID(pDoc);
  CPicture*ppic=pDoc->GetPicture();
  ASSERT(ppic);
  if(*ppic){
  CRectrc;
  GetImageRect(rc);//GetImageRect是CPictureView类的一个成员函数
  ppic->Render(pDC,rc);
  }
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值