例如:现有一对话框,上面放置一控件CStatic,我想用DirectX在CStatic范围内绘图该如何实现?
我使用:
if(m_pDirectDraw->SetCooperativeLevel(this->GetSafeHwnd() ,DDSCL_NORMAL) != DD_OK ) 
return FALSE; //设置DirectDraw控制级
if(m_pDirectDraw->SetDisplayMode(256 , 256 , 8, 0 , 0 ) != DD_OK ) 
{
TRACE("Initial DirectX Err:%s\r\n" , GetLastErrorString());
return FALSE; //设置显示模式
}
在SetDisplayMode时老是返回错误,但是用全屏模式,设置主对话框为主窗体就没问题。

解决方案 »

  1.   

    TO:happy__888([顾问团]寻开心)
    也就是说在窗口模式下不需要SetDisplayMode了?
    能不能给个窗口模式下绘图的例子呢?
      

  2.   

    dxsdk当中有很多的例子,即可以工作在窗口模式下,也可以工作在全屏模式下的ddraw只有两种模式,一个是窗口模式,一个一个全屏独占模式
    前者不能改变窗口分辨率,颜色深度,刷新频率等参数,只能使用当前桌面的设置
    道理很简单,你的程序,和其他的windows程序都在共享桌面呢,如果你改了,别人怎么办全屏独占就无所谓了,其他的windows程序没有权利使用桌面了,你自己想怎么改就怎么改