打开并显示位图 mfc view

 头文件中

CBitmap m_bitmap1;
 CRect rect;


ondraw中

 //打开位图文件
    if(m_bitmap1.m_hObject)
 {      
  CDC dcImage;
  if(!dcImage.CreateCompatibleDC(pDC))
   MessageBox(NULL,"wrong",NULL);
  BITMAP bm;
  
  m_bitmap1.GetBitmap(&bm);
  dcImage.SelectObject(&m_bitmap1);
  pDC->BitBlt(0,50,bm.bmWidth,bm.bmHeight,&dcImage,0,0,SRCCOPY);

 }

void CMyBView::OnFileOpen()
{
 // TODO: Add your command handler code here
      CFileDialog  filedlg1(TRUE,"*.bmp","位图文件",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"(*.bmp)|*.bmp|(*.*)|*.*||",NULL);
 
        if(filedlg1.DoModal()==IDOK)
  {
      CString filename;//filename!=NULL&&
      filename= filedlg1.GetFileName();
      
   if(filedlg1.GetFileExt( )=="bmp")
   {
      HBITMAP hBitmap=(HBITMAP)LoadImage(NULL,_T(filename),IMAGE_BITMAP,
      0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);
            if(m_bitmap1.m_hObject)m_bitmap1.DeleteObject();
      m_bitmap1.Attach(hBitmap);
         Invalidate(TRUE );
   }
   else MessageBox("Not BMP files!");
 
  }

}

在文件中点击打开

弹出一个文件对话框 打开bmp位图文件并在视图中显示的程序段

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值