以下显示窗口的方法有什么区别:

  • ShowWindow 函数。
  • 带有 SetWindowPos 标志的 SWP_SHOWWINDOW 函数。
  • SetWindowLong 添加到 WS_VISIBLE 中的 GWL_STYLE 函数。

  • 还有其他方法吗?

    最佳答案

    我认为它们基本上是相同的,但是每个都有附加的功能:

  • 加上SetWindowLongWS_VISIBLE中的GWL_STYLE可能是最不有趣的:如果有一个功能完全满足您的需要,为什么要弄乱样式位。
  • SetWindowPos一起使用SWP_SHOWWINDOW允许您通过单个原子操作来同时显示窗口并设置其位置和大小,这样,程序或用户都不会看到看不见或不可见的窗口。
  • ShowWindow函数涉及很多魔术,尤其是在程序中首次调用它时。另外,它具有SW_SHOWDEFAULT标志,该标志很少使用,但不适用于其他任何方法AFAIK。

  • 还有其他方法可以使窗口可见。在我的脑海中:
  • 使用WS_VISIBLE标志集创建它。
  • DeferWindowPosSetWindowPos具有相同的标志。
  • 10-05 23:04