【发布时间】:2015-04-11 18:02:37
【问题描述】:
我想知道是否可以,如果可以,如何将表单边框样式更改为 Windows Basic 而不是 Aero 主题?显然首先考虑到是否启用了 Aero,如果没有,则无需尝试更改边框样式。
所以而不是:
我们会:(模拟图像)
MDI 应用程序已经为子窗体执行此操作,但我不想要或不需要 MDI 应用程序。我尝试查看 Vcl.Forms 的源代码,看看是否可以找到任何相关内容,但我无法找到 - 我可能是错的,但我实际上认为 MDI Forms 的绘制方式是由 Windows 决定的,而不是由 Delphi 决定的。
DSiWin32 包含一些与 Aero 相关的功能,例如确定 Aero 是否启用,以及能够启用和禁用 Aero - 但是这似乎是系统范围的更改,而不是以每个窗体/窗口为基础,它还会在更改主题时导致屏幕延迟,这不好。
我现在不确定从哪里开始。我可能忽略了一些简单的事情吗?我们是否需要使用一些特定的标志等创建和覆盖我们自己的 TForm 来实现这一点,或者可能有一种方法可以随时更改表单样式,例如为表单启用/禁用 Aero?
简单地说,我想知道是否可以不使用 MDI 应用程序,如果首先启用 Aero,我们可以将任何窗体/窗口边框更改为 Windows Basic 主题吗?
【问题讨论】: