为什么“在doc里打开”与“在view里打开”会如此不一样?
我在view里响应OnFileOpen,(打开位图),程序一点问题也没有(能正常打开)。后来我想似乎应该在doc里打开比较好,所以我就在doc里响应,但是运行时,刚出现界面就出错,停在ondraw函数里的SetPalette和Draw。下面是我的ondraw函数的部分:
// TODO: add draw code for native data here
m_Dib = pDoc->m_pDIB;
m_Dib->SetPalette( pDC );
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap *pOldBitmap=MemDC.SelectObject(&m_bitmap);
m_Dib->Draw(&MemDC,0,0,-1,-1);
//CDib* m_Dib; CDib* m_pDIB;
//CDib是个类,用来打开位图,得到位图数据等等。
SetPalette函数,和Draw里都有 if( m_pDib == NULL) return( FALSE );
为什么会这样,在view里响应打开,如果不打开图象,m_pDib也是NULL啊,为什么不会出错呢,请指教!!