我需要一些帮助。我想在没有窗口自动在屏幕上应用这些更改的情况下设置某些 win 表单属性(大小/位置/..)。
我在表单上尝试了 WM_SETREDRAW,在更改期间我跳过了表单的 WndProc 中的所有消息,没有任何效果。窗口由系统自动调整。
背景:我们的应用程序需要一个全屏切换。问题是用户可以在切换到全屏之前将窗口设置为最大化状态。
所以过渡可以是:正常 -> 最大化 -> 全屏(是 WindowState 正常(无边框样式,最大尺寸))
根据这个过渡:当离开全屏模式时,应用程序必须切换回最大化状态。然后,还原应将应用程序切换回第一个位置和大小。为了使控制按钮(最大化/恢复)正常工作,从全屏切换回最大化时,我必须采用以下方式:
- 将位置和大小设置为“第一个”值。(因为他们处于正常状态)
- 将应用设置为最大化
然后恢复按钮完美运行,但您可以看到 windows 在步骤 1 中绘制应用程序,然后在步骤 2 中再次绘制。您可以在步骤 1 和 2 中看到 windows 桌面,因为窗口实际上已调整大小。
现在我需要一种方法来以某种方式设置值(以便内部正常工作)但防止窗口在第 2 步之前绘制应用程序。
这种“停用”在全屏转换期间也会有所帮助,因为您可以看到面板调整大小,直到应用程序覆盖整个屏幕。一点都不好。
任何想法都会很棒。