IDirect3D9中进行了CreateDevice之后,视频显示正常了,但想改变显示的窗口句柄,怎样调用?

zjz800800 2015-04-03 01:45:11
IDirect3D9中进行了CreateDevice之后,视频显示正常了,但想改变显示的窗口句柄,怎样调用设置?

具体如下所示:
ZeroMemory(&d3dppW, sizeof(d3dppW));
d3W.Windowed = TRUE;
d3W.SwapEffect = D3DSWAPEFFECT_COPY;
d3W.hDeviceWindow = m_hWnd;
d3W.BackBufferFormat = D3DFMT_UNKNOWN;


if( FAILED( m_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, m_hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING|D3DCREATE_MULTITHREADED|D3DCREATE_FPU_PRESERVE,
&d3dppW, &m_pd3dDevice)))
{
return;
}

已经指定了d3W.hDeviceWindow = m_hWnd;
怎样在视频显示的中间换掉这个m_hWnd?
或者怎样对CreateDevice之后的视频进行全屏幕显示?
...全文
192 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gamehorse 2015-08-17
  • 打赏
  • 举报
回复
楼主,你是什么思路呀。。现在我也碰到同样的难题。 平时显示为300*400,在游戏中间会变成400*600的窗口,这个时候该怎么处理呀。。。楼主。
zjz800800 2015-04-03
  • 打赏
  • 举报
回复
ok,自己弄出来了,虽然大家没解决,但感谢大家参与,揭帖
zjz800800 2015-04-03
  • 打赏
  • 举报
回复
崩溃成了yuv转换,空间不够,比如352*288成了800*600,所以目前想不把352*288显示在800*600大小的窗口句柄上,不知道调用d3d的什么函数?
孤客天涯 2015-04-03
  • 打赏
  • 举报
回复
看看崩溃的堆栈信息是什么?
zjz800800 2015-04-03
  • 打赏
  • 举报
回复
现在问题好像成了,怎样将一个352*288的图像进行缩放,比如数据还是352*288,进行全屏显示
zjz800800 2015-04-03
  • 打赏
  • 举报
回复
我现在就是创建一个父窗口,然后视频已经可以在另外一个父窗口显示,但是之前数据如果是352*288,底板窗口为800*600的话会显示数据崩溃
孤客天涯 2015-04-03
  • 打赏
  • 举报
回复
那可以考虑一下IDirect3D9在一个底板窗口上创建出来,然后设置底板窗口的父窗口呢?
zjz800800 2015-04-03
  • 打赏
  • 举报
回复
谢谢楼上回复,IDirect3D9设置中没有SetParent这个参数呀
孤客天涯 2015-04-03
  • 打赏
  • 举报
回复
试试SetParent?

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧