ShowWindow与SWP_SHOWWINDOW与WS_VISIBLE

4 winapi

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

  • 该ShowWindow功能。
  • SetWindowPos带SWP_SHOWWINDOW标志的功能。
  • 的SetWindowLong功能已WS_VISIBLE添加到中GWL_STYLE。

还有其他方法吗?

rod*_*igo 5

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

  1. SetWindowLong与WS_VISIBLE加入GWL_STYLE是proably中最无趣的:为什么有风格位混乱,如果有,做正是你所需要的功能。
  2. SetWindowPoswith SWP_SHOWWINDOW允许您通过单个原子操作来同时显示窗口并设置其位置和大小,因此,任何人(程序或用户)都不会看到不可见或不可见的窗口。
  3. 该ShowWindow函数涉及很多魔术,尤其是在程序中首次调用该函数时。另外,它具有SW_SHOWDEFAULT很少使用但对其他任何方法AFAIK不可用的标志。

还有其他方法可以使窗口可见。在我的脑海中:

  1. 创建带有WS_VISIBLE标志集。
  2. DeferWindowPos与的标志相同SetWindowPos。