首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

用MFC显示位图,在SDI中覆盖OnOpenDocument()并用OnDraw()显示调试时触发断点

2012-04-06 
【求助】用MFC显示位图,在SDI中覆盖OnOpenDocument()并用OnDraw()显示调试时触发断点小弟初学MFC,想用MFC显

【求助】用MFC显示位图,在SDI中覆盖OnOpenDocument()并用OnDraw()显示调试时触发断点
小弟初学MFC,想用MFC显示一个位图,利用MFC自动生成的打开对话框,在SDI中覆盖了OnOpenDocument()

C/C++ code
BOOL CBmpDoc::OnOpenDocument(LPCTSTR lpszPathName){    if (!CDocument::OnOpenDocument(lpszPathName))        return FALSE;    // TODO:  在此添加您专用的创建代码    lpPathName=lpszPathName;    return TRUE;}

用lpPathName保存要打开的位图的路径,想在OnDraw()中显示位图
C/C++ code
void CBmpView::OnDraw(CDC* pDC){    CBmpDoc* pDoc = GetDocument();    ASSERT_VALID(pDoc);    if (!pDoc)        return;    // TODO: 在此处为本机数据添加绘制代码        CBitmap bitmap;    bitmap.LoadBitmapW(pDoc->lpPathName);    CDC dcCompatible;    dcCompatible.CreateCompatibleDC(pDC);    dcCompatible.SelectObject(&bitmap);    CRect rect;    GetClientRect(&rect);    pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,SRCCOPY);}

调试的时候,触发断点,不知道那里出错了,怎么样才能显示位图,望各们大神帮帮忙,指点一下。

[解决办法]
检测 lpPathName 是否为空。

热点排行