CBMP_DIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return; // TODO: 在此处为本机数据添加绘制代码
}void CBMP_DIBView::OnInitialUpdate()
{
CBMP_DIBDoc* pDoc = GetDocument();
CScrollView::OnInitialUpdate(); CSize sizeTotal;
// TODO: 计算此视图的合计大小
ASSERT_VALID(pDoc);
if (pDoc->m_hDIB != NULL)
{
LPBITMAPINFOHEADER lpDIB=(LPBITMAPINFOHEADER)GlobalLock(pDoc->m_hDIB);
m_rcDIB.left =0;
m_rcDIB.top=0;
sizeTotal.cx = m_rcDIB.right=异常c0000005?
sizeTotal.cy = m_rcDIB.bottom=((LPBITMAPINFOHEADER)lpDIB)->biHeight;
GlobalUnlock(pDoc->m_hDIB);

else
{
m_rcDIB.SetRectEmpty();
sizeTotal.cx = sizeTotal.cy = 100;
}
SetScrollSizes(MM_TEXT, sizeTotal);sizeTotal.cx = m_rcDIB.right=((LPBITMAPINFOHEADER)lpDIB)->biWidth;在运行这一句话时,会出现异常c0000005,这是什么原因?
(LPBITMAPINFOHEADER)lpDIB)->biHeight;把这一句话屏蔽,换成一个常数值,刚可以编译通过。
谢谢