谁能帮我看看,这段程序为什么出错!
BOOL CTestdibDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
CBitmap m_bmpTest;
BOOL bErr = m_bmpTest.LoadBitmap(IDB_BITMAP_TEST);
if(m_bmpTest.m_hObject ==NULL)
{
return CWnd::OnEraseBkgnd(pDC);
}
BITMAP ddbinfo;
m_bmpTest.GetBitmap(&ddbinfo);
BITMAPINFO dibinfo;
int nErr = GetDIBits(pDC->GetSafeHdc(),m_bmpTest,0,ddbinfo.bmHeight,NULL,&dibinfo,DIB_RGB_COLORS);
//执行上面这个函数总是返回0,但执行GetLastError()查错误码,错误码表示操作成功;
if(nErr==0)
{
DWORD dwLastErr = GetLastError();
AfxMessageBox("Error");
CWnd::OnEraseBkgnd(pDC);
}
return TRUE;
}
问题点数:20、回复次数:2Top
1 楼Mackz(在相互)回复于 2005-11-02 01:39:31 得分 10
BITMAPINFO的结构成员都要填写的。Top
2 楼ddmor(火箭-小明)回复于 2005-11-02 21:49:15 得分 10
对BITMAPINFO结构的成员做输入输出参数,需要填写做获取数据的依据。Top




