假定你是单文档SDI的App
在View里面的OnDraw函数中添加:
CxxxView::OnDraw(...)
{
CxxxDoc* pDoc = GetDocument();
CBitmap *pBmp;
CBitmap *pBmpOld;
CDC dcMemory;
BITMAP bm;
dcMemory.CreateCompatibleDC(pDC);
pBmp=pDoc->GetBitmap();
pBmpOld=dcMemory.SelectObject(pBmp);
pBmp->GetBitmap(&bm);
pDC->StretchBlt(0,0,bm.bmWidth+100,bm.bmHeight+100 ,&dcMemory,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
dcMemory.SelectObject(pBmpOld);
}
然后在Doc类的头文件中添加下面两行:
CBitmap m_bmpDraw;
CBitmap *GetBitmap(){return &m_bmpDraw;}
最后,在DOC的构造函数中,初始化。
CxxxDoc::CxxxDoc()
{
if (m_bmpDraw.LoadBitmap(IDB_BMP_DEFAULT)==0)
{
AfxMessageBox("Error occurs when open the bitmap !",MB_OK,0);
}
}
其中 IDB_BMP_DEFAULT 就是你所指定的资源文件了,你自己在VC++里面画。该文件会被自动保存到 app/res 目录里,名字可能是XXX.bmp,你自己看看,试试。肯定没问题的。我自己做的模仿画笔的小程序就可以用。当然,后来我换了方法。你可以看看我blog上面的图片. http://www.cnblogs.com/images/cnblogs_com/nickong/mypaint.JPG