|
|
1
1
解决办法是 posted on opengl.org 约瑟夫·斯蒂尔,所以,我也把它放在这里作为参考:
我注意到必须使用“wglChoosePixelFormatARB”来获取像素格式。 我尝试使用带有“PFD_SWAP_COPY”标志的经典“ChoosePixelFormat”,但它在我的系统(Win7 x64+NVidia GeFo 9600GT v196.21)上不起作用,因为它总是用“PFD_SWAP_EXCHANGE”返回像素格式。 我对结果只有一半的满意,因为它在我的显示器上引入了一些撕裂,但至少它是有效的! 作为参考,我已经更新了 test source code . 2013年12月编辑 这个解决方案已经不起作用了,至少在我的系统上(笔记本电脑,Optimus GeForce 650M)。WGL_SWAP_COPY_ARB已设置,但不显示模式对话框。到目前为止,创建带有1像素边框的窗口(将WS_border添加到WS_POPUP样式)似乎起到了作用,并防止进入“全屏”模式。 |
|
|
2
0
我的系统上的解决方案非常简单: -在创建窗口时不要指定WS_POPUP样式。 -在您获得hwnd之后,使用SetWindowLong(hwnd,GWL_STYLE,yr_styles)将您的窗口样式重新设置为所需的样式(但不再弹出WS_); |
|
|
3
0
在Win7 64位下,OpenGL也有同样的问题。 不会显示模态对话框和模态窗口,它们在后台也处于活动状态。 我的项目使用立体显示(四缓冲区)。 在我的例子中,问题是由于显示适配器(Nvidia Quadro FX3800)的控制面板中的错误设置造成的。 设置为“启用立体声”,但“关闭”的设置不正确。 打开它解决了这个问题。 |
|
|
4
0
例如,当我需要时,在OpenGL全屏(Windows10)中打开一个文件对话框 或者以前所有的窗户),我打电话给 重画窗口(hwnd,0,0,RDW_INTERNALPAINT); (这会导致将WM_PAINT消息发布到窗口,而不管窗口的任何部分是否无效) 就在这之后,我调用filedialog。 文件对话框现在将在OpenGL全屏中显示。 在WndProc的盒子里,我画了一个SwapBuffers(hdc)
|
|
|
maverickar · 模式未通过按钮关闭 2 年前 |
|
|
Community wiki · 如何从c打开对话框(模态)# 3 年前 |
|
|
Simon · 如何在反应原生模态上设置borderRadius? 6 年前 |
|
|
user2707039 · 带远程Modal的Bootstrap 3 12 年前 |