将窗口设置为最顶层

新手上路,请多包涵

我试图将我的窗口放在所有其他窗口之上。我是 C++ Win32 编程的新手。这是我在 WinMain 中对窗口的初始化:

 hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);

我以前使用过对话框,所以最上面的属性真的很容易使用。但是在这里,在一个窗口上我不知道如何设置它。我也希望能够触发它。有谁能够帮我?

原文由 Victor 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.9k
2 个回答

使用 CreateWindowEx 和(扩展)窗口样式 WS_EX_TOPMOST

免责声明:我接触那些东西已经有 15 年左右的时间了。

原文由 Cheers and hth. - Alf 发布,翻译遵循 CC BY-SA 3.0 许可协议

SetWindowPos(hwnd01, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);

注: SWP_NOMOVE | SWP_NOSIZE 用于忽略 SetWindowPos 函数的第3、4、5、6个参数。

第二个参数可以是:

  • HWND_BOTTOM

  • HWND_NOTOPMOST (设置窗口为普通窗口)

  • HWND_TOP

  • HWND_TOPMOST (将窗口设置为始终在顶部)

原文由 Amir 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题