多文档程序,我做了一个PropSheet
我要想在最后一步对话框点击“完成”按钮之后加载一个位图,显示到客户区,
我添加一个虚函数OnWizardFinish(),然后我把加载位图的代码写到虚函数中了,但是执行的时候无法显示位图
BOOL CClassProp3::OnWizardFinish() 
{
// TODO: Add your specialized code here and/or call the base class
CDC *pDC = GetDC();
   
    CDC m_memDC;
m_memDC.CreateCompatibleDC(pDC);
CBitmap myBmp;
myBmp.LoadBitmap(IDB_BITMAP1);//装入图片
m_memDC.SelectObject(&myBmp);//内存与环境关联    pDC->BitBlt(0,0,1024,666,&m_memDC,0,0,SRCCOPY);

return CPropertyPage::OnWizardFinish();
}
是不是我的GetDC这里的问题?是不是这样获取不到客户区的DC? 

解决方案 »

  1.   

    修改如下:BOOL CClassProp3::OnWizardFinish() 
    {
        // TODO: Add your specialized code here and/or call the base class    Invalidate();
        m_bLoadBmp = TRUE  //BOOL m_bLoadBmp(FALSE);
        return CPropertyPage::OnWizardFinish();
    }下面的代码写入哦OnPaint()    if(m_bLoadBmp)
        {
            pDC = &dc;
            CDC m_memDC;
            m_memDC.CreateCompatibleDC(pDC);
            CBitmap myBmp;
            myBmp.LoadBitmap(IDB_BITMAP1);//装入图片
            m_memDC.SelectObject(&myBmp);//内存与环境关联
            pDC->BitBlt(0,0,1024,666,&m_memDC,0,0,SRCCOPY);
        }
      

  2.   

    if(m_bLoadBmp)
        {
            pDC = &dc;
            CDC m_memDC;
            m_memDC.CreateCompatibleDC(pDC);
            CBitmap myBmp;
            myBmp.LoadBitmap(IDB_BITMAP1);//装入图片
            m_memDC.SelectObject(&myBmp);//内存与环境关联
            pDC->BitBlt(0,0,1024,666,&m_memDC,0,0,SRCCOPY);
            
            //Release GDI Object
            myBmp.DeleteObject();
            m_memDC.DeleteDC();
        }