想在对话框中固定的位置添加一张图片,不依赖控件,只用image,具体代码如何实现?好惆怅啊

解决方案 »

  1.   

    #include <atlimage.h>
    CImage image;
    image.Load(TEXT("C:\\1.JPG"));
    image.Draw(hDc, ......);
      

  2.   

    我加上这个头文件以后报出CPoint不明确符号怎么解决呢?
    其实我想资源中的Bitmap,用GDI绘图,指定坐标放置图片,如何做呢?那些句柄什么的真心理不清
      

  3.   

    CString、CPoint等基本类,atl和wtl都有,wtl作者说建议用atl的,所以一般在stdafx.h中这么写:#define _WTL_NO_WTYPES
    #define _WTL_NO_CSTRING#include <atlstr.h> // CString
    #include <atltypes.h> // CRect,CPoint,CSizegdi绘制bmp
    你可以把这段代码copy到CMainDlg中,IDB_BMP指定资源的ID。
    StretchBlt是缩放图片,不缩放用BitBltvoid OnPaint(CDCHandle)
    {
      CPaintDC dc(m_hWnd);
      CRect rc;
      GetClientRect(&rc);
      CBitmap map;
      map.LoadBitmap(IDB_BMP);
      BITMAP bm;
      map.GetBitmap(&bm);
      CDC memDC;
      memDC.CreateCompatibleDC(dc);
      HBITMAP hOldBmp = memDC.SelectBitmap(map);
      dc.StretchBlt(0,0,rc.Width(),rc.Height(),memDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
      memDC.SelectBitmap(hOldBmp);
      memDC.DeleteDC();
    }