|
|

楼主 |
发表于 2007-7-13 15:16:00
|
显示全部楼层
Re: DirectDraw高手进
下面是程序的主要部分代码:
LPDIRECTDRAW lpDD
LPDIRECTDRAWSURFACE lpDDPrimary //主表面,用来显示图像
下面代码是MFC类库下的:
CWinApp::InitInstance(~~):
//初始化
if(FAILED(lpDD->CreateSurface(&ddsd, &lpDDBack, NULL)))
{
return FALSE;
};
if( FAILED(lpDD->CreateClipper(0, &lpDDClipper, NULL)) )
{
return false;
}
if( FAILED(lpDDClipper->SetHWnd(0, this->m_pMainWnd->m_hWnd)) )
{
return false;
}
if( FAILED(lpDDPrimary->SetClipper(lpDDClipper)) )
{
return false;
}
///////////
窗口重绘OnPaint():
CBitmap bm;
bm.LoadBitmap(IDB_BITMAP1);
HDC hdc,hdc1;
hdc=::CreateCompatibleDC(dc);
::SelectObject(hdc,(HBITMAP)bm);
if(lpDDprimary->GetDC(&hdc1))return FALSE;
::BitBlt(hdc1,rect.left,rect.top,rect.right,rect.bottom,hdc,0,0,SRCCOPY);
lpDDprimary->ReleaseDC(hdc1);
帮忙看看谢谢啦 [em3] |
|