以下显示窗口的方法有什么区别:
ShowWindow
函数。 SetWindowPos
标志的 SWP_SHOWWINDOW
函数。 SetWindowLong
添加到 WS_VISIBLE
中的 GWL_STYLE
函数。 还有其他方法吗?
最佳答案
我认为它们基本上是相同的,但是每个都有附加的功能:
SetWindowLong
到WS_VISIBLE
中的GWL_STYLE
可能是最不有趣的:如果有一个功能完全满足您的需要,为什么要弄乱样式位。 SetWindowPos
一起使用SWP_SHOWWINDOW
允许您通过单个原子操作来同时显示窗口并设置其位置和大小,这样,程序或用户都不会看到看不见或不可见的窗口。 ShowWindow
函数涉及很多魔术,尤其是在程序中首次调用它时。另外,它具有SW_SHOWDEFAULT
标志,该标志很少使用,但不适用于其他任何方法AFAIK。 还有其他方法可以使窗口可见。在我的脑海中:
WS_VISIBLE
标志集创建它。 DeferWindowPos
与SetWindowPos
具有相同的标志。