如何实现D3D全屏与窗口的转换
答案:2 悬赏:0 手机版
解决时间 2021-02-09 14:46
- 提问者网友:精神病院里
- 2021-02-08 22:21
如何实现D3D全屏与窗口的转换
最佳答案
- 五星知识达人网友:青尢
- 2021-02-08 23:24
代码例子如下(已封装):void JLY_1DxRenderer::ToggleFullscreen(){ //调换当前窗口状态 m_kPresent.Windowed = !m_kPresent.Windowed; if (m_kPresent.Windowed) { //非全屏刷新率为0 m_kPresent.FullScreen_RefreshRateInHz = 0; } else { //全屏则设置为D3DPRESENT_RATE_DEFAULT,并保存当前窗口位置 GetWindowRect(m_kPresent.hDeviceWindow,&m_rcWindow); m_kPresent.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT; } //执行设备丢失与重新设置操作 OnDeviceLost(); ResetDevice(); //如果被恢复非全屏,则将当前窗口设置到原来位置(在全屏时保存) if (m_kPresent.Windowed) { SetWindowPos(m_kPresent.hDeviceWindow, NULL, m_rcWindow.left, m_rcWindow.top, m_rcWindow.right - m_rcWindow.left, m_rcWindow.bottom - m_rcWindow.top, SWP_NOZORDER | SWP_DRAWFRAME | SWP_SHOWWINDOW); } } void JLY_1DxRenderer::ResetDevice(){ } void JLY_1DxRenderer::OnDeviceLost(){ //恢复设备 ms_hResult = m_pqDevice->Reset(&m_kPresent); assert(SUCCEEDED(ms_hResult)); }
全部回答
- 1楼网友:笑迎怀羞
- 2021-02-09 00:38
很简单,写注册码就可以了.
d3d的1就是,0就是op格式
窗口的也一样,百度一下 csol注册项
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯