【问题标题】:Delphi XE/Windows7: why do VCL controls look different in an MDI application?Delphi XE/Windows7:为什么 VCL 控件在 MDI 应用程序中看起来不同?
【发布时间】:2013-09-13 09:17:45
【问题描述】:

德尔福 XE / Windows 7.

创建一个新的 VCL 应用程序,在表单上放置一个 TCombobox。

创建一个新的 MDI 应用程序,做同样的事情。

为什么控件看起来不同,我该如何解决?

其他控件的行为方式相同。当我在 MDI 应用程序中的 mdi 子窗体上放置控件时,也会发生同样的事情。

【问题讨论】:

  • 我认为这些控件看起来并没有什么不同。你能显示截图吗?
  • 你指的是下拉按钮的凸起效果?
  • 显然第二个组合框是主题,而第一个不是。
  • 确实,它们看起来不同。为什么它们在 MDI 应用程序中没有主题,我该如何解决?

标签: delphi


【解决方案1】:

XE(及更早版本)中的 MDI 应用程序模板已禁用运行时主题。只需在项目选项中启用它即可解决差异。

在 XE2 中修改了 MDI 应用程序模板中的此设置。

【讨论】:

  • 谢谢大卫。我在现有项目中启用了此功能,它有效,但仅适用于新添加的组件。现有组件保持不变。有什么解决方法吗?
  • 这只是 IDE 中设计时的事情。运行程序时没有问题。无论如何,通过重新打开项目来更新 IDE。这就是它所需要的。我猜你只需要 IDE 来完成重新创建窗口的循环。
  • 这不起作用 David。当我向现有项目添加组合框时,我将其视为主题控件。所有已经存在的控件仍然是非主题的。当我重新打开项目或编译它时,事情保持不变。尝试重新启动 IDE,但也没有用。
  • 在这里工作得很好。我想我回答了你问的问题。
  • 如果设计时的事情仅限于 IDE,则编译版本应该只有主题控件。它具有主题和非主题控件,因此在项目级别启用运行时主题并不是问题的解决方案。不过还是谢谢你,大卫。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-22
  • 1970-01-01
  • 1970-01-01
  • 2021-01-24
  • 2012-09-10
  • 1970-01-01
相关资源
最近更新 更多