确保窗口专注于OpenGL App

时间:2013-07-16 14:03:49

标签: winapi opengl focus

我有三个使用OpenGL库从Visual C ++编译的可执行文件。虽然它们之间在创建窗口方面没有什么不同,但是当我运行它时,其中一个会自动聚焦,而另外两个则需要用户在获得焦点之前点击窗口。

我正在构建一个WIN32应用程序作为运行不同.exe文件的菜单,在这里我使用所有通常的建议来尝试聚焦窗口(SetFocus(hWnd)SetActiveWindow(hWnd)),但是无济于事。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您想要的实际上是SetForegroundWindow (...),因为除了设置活动窗口外,这还会将您的应用程序置于前台。

如果您的应用程序位于前台,

SetActiveWindow (hWnd)将只能实现您想要的功能,如果您有多文档应用程序并希望在窗口之间切换,这将非常有用。

以下是我在初始化/调整rendercontext大小时在Win32窗口管理系统中使用的相关代码选择:

ShowWindow          (hWndRender, SW_SHOW);
SetForegroundWindow (hWndRender);
SetFocus            (hWndRender);