各位高手,我想在单文档的客户区显示一张位图,随窗口大小全屏显示,位图在res中,请问怎么编写代码,谢谢 

解决方案 »

  1.   

    重载view的ondraw,取客户区的大小,在里面贴图
      

  2.   

    ondraw()
    {
        
        CClientDC dc(this); //显示图片
    CDC MemDC;
    CBitmap   *MypBitmap; 
    HBITMAP bm;

    bm = ::LoadBitmap(::AfxGetInstanceHandle(),MAKEINTRESOURCE(bitmapid)) ;

    MypBitmap = new CBitmap;   
    MypBitmap->Attach(bm);   

    //MypBitmap   =   CBitmap::FromHandle(hBitmap);   
    //上述二句话实际效果完全相同. 

    MemDC.CreateCompatibleDC(&dc);         
    MemDC.SelectObject(MypBitmap); 

        //显示图形
        dc.BitBlt(compont[selectcompont][i].mapcroodinate.x,compont[selectcompont][i].mapcroodinate.y,
       compontgp[selectcompont].compontmapsize[0],compontgp[selectcompont].compontmapsize[1],&MemDC,0,0,SRCCOPY);
       
       //////////////////////////////////////////////////////////////////////////
       //删除位图
       delete MypBitmap;
       
       //删除MemDC
       MemDC.DeleteDC();
    }
      

  3.   

     dc.BitBlt(map.x,map.y,         mapswedth ,maphigth,&MemDC,0,0,SRCCOPY); 
              _ 图形左上角坐标        --
      

  4.   

    上面的代码我基本懂得,我现在的问题是用LoadImage加载资源里的位图,请问其中参数怎么设置?谢谢
      

  5.   

    设置窗口模式就可以了...可以看看那个mfc windows程序设计..上面好像有个clock的例子..不过你用上面的方法也可以..
      

  6.   

       
    发表于:2007-09-30 16:50:267楼 得分:0
    缩放用StretchBlt------------------用这个可以