我有三个使用OpenGL库从Visual C ++编译的可执行文件。虽然它们之间在创建窗口方面没有什么不同,但是当我运行它时,其中一个会自动聚焦,而另外两个则需要用户在获得焦点之前点击窗口。
我正在构建一个WIN32应用程序作为运行不同.exe文件的菜单,在这里我使用所有通常的建议来尝试聚焦窗口(SetFocus(hWnd)SetActiveWindow(hWnd)),但是无济于事。
有什么建议吗?
答案 0 :(得分:0)
您想要的实际上是SetForegroundWindow (...)
,因为除了设置活动窗口外,这还会将您的应用程序置于前台。
SetActiveWindow (hWnd)
将只能实现您想要的功能,如果您有多文档应用程序并希望在窗口之间切换,这将非常有用。
以下是我在初始化/调整rendercontext大小时在Win32窗口管理系统中使用的相关代码选择:
ShowWindow (hWndRender, SW_SHOW);
SetForegroundWindow (hWndRender);
SetFocus (hWndRender);