HRESULT result;
result =DirectDrawCreate(NULL, &lpDDraw_temp, NULL);
if (result!=DD_OK)
{
MessageBox(TEXT("Direct Draw Create error!"));
}
result=lpDDraw_temp->SetCooperativeLevel(m_hWnd, DDSCL_NORMAL);
if (result!=DD_OK)
{
MessageBox(TEXT("DirectDraw SetCooperativeLevel error!"));
}
memset(&ddsd,0,sizeof(ddsd)); 
ddsd.dwSize=sizeof(ddsd); 
ddsd.dwFlags=DDSD_CAPS ;
ddsd.ddsCaps.dwCaps=DDSCAPS_PRIMARYSURFACE;  //创建主页面
result=lpDDraw_temp->CreateSurface(&ddsd, &lpDDprimary, NULL);
if (result!=DD_OK)
{
MessageBox(TEXT("DirectDraw Create primary Surface error!"));
return(0);
} //获取对话框大小
RECT rc;
GetClientRect(&rc); DDSURFACEDESC ddsd1;
LPDIRECTDRAWSURFACE lpDDopl; 
memset(&ddsd,0,sizeof(ddsd)); //清空结构内容
ddsd1.dwSize=sizeof(ddsd); //设置大小
ddsd1.dwFlags = DDSD_CAPS |DDSD_HEIGHT|DDSD_WIDTH;
ddsd1.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;//指定页面类型 
ddsd1.dwWidth=rc.right-rc.left;
ddsd1.dwHeight=rc.bottom-rc.top; //设置离屏页面大小
result=lpDDraw_temp->CreateSurface(&ddsd1, &lpDDopl, NULL);
if (result!=DD_OK)
{
MessageBox(TEXT("DirectDraw Create primary Surface error!"));
return(0);
} //创建离屏页面 HDC hdc,hdc1;//声明HDC对象,hdc用来存储位图,hdc1代表离屏页面的DC
HBITMAP bitmap; //声明HBITMAP对象
BITMAP bmp;
CBitmap Bmp;
Bmp.LoadBitmap(IDB_BITMAP1);
bitmap=(HBITMAP)Bmp;
hdc=CreateCompatibleDC(NULL);//建立与目前显示模式兼容的DC(参数为null)
Bmp.GetBitmap(&bmp);
SelectObject(hdc,bitmap); //使用windows函数设置hdc中的内容为bitmap
DDSURFACEDESC ddsd2;
lpDDopl->GetSurfaceDesc(&ddsd2);//ddsd和我们前面定义过的一样
result= lpDDopl->GetDC(&hdc1);//用GetDC()来取得离屏页面的DC
if(result!=DD_OK)
MessageBox(TEXT("取得暂存区DC失败"));//是否取得成功,了解result做这个用
BitBlt(hdc1, 0, 0, ddsd2.dwWidth, ddsd2.dwHeight, hdc, 0, 0, SRCCOPY);
//这个就是贴图用的windows函数
lpDDopl->ReleaseDC(hdc1);//释放离屏页面的DC,一定要释放

ClientToScreen(&rc);
result = lpDDprimary->BltFast( 0, 0, lpDDopl, &rc, DDBLTFAST_WAIT );
/*result=lpDDprimary->Blt(NULL,   lpDDopl,   NULL,   DDBLT_WAIT,   NULL);*/
if( result !=DD_OK )
{
MessageBox(TEXT("拷贝表面失败"));
}
现在已经成功创建主表面,并将离屏页面上的位图拷贝到主页面上了,但是拷上去的位图却是花屏(就是乱七八糟的一些颜色组成的图,类似电脑花屏时的情况),这是什么原因呢?
还有怎么调整创建的主页面在屏幕上的位置,我想把这个页面调整到对话框上,作为背景。DDSURFACEDESC结构只有页面的大小但并没有页面的位置啊。