3

我刚刚收到了一些我的 Delphi Pro 6 应用程序的艺术家渲染图像,我将使用它们来彻底检查它的外观和感觉。问题当然是我的应用程序,像任何其他 Delphi 应用程序一样,使用 VCL 自定义控件库,并且这些控件以一种经常不利于改变其外观和感觉的方式绘制自己。我也大量使用了开源 JEDI JVCL 库。

如果有人有一些技巧、文章、网页或任何关于从图像工作到重新设计或检修 Delphi 6 应用程序的内容,我将不胜感激。这是一个包含大量复杂 TFrame 后代并且大量使用 JEDI VCL 页面控件的大型应用程序,因此切换到全新的组件库是不切实际的。

我有一个尚未尝试过的想法是,通过将当前表单的 Parent 属性更改为新的 TForm 并设置当前表单的 AlphaBlend 属性使其透明,将每个顶级表单放入另一个 TForm 中。然后,我将新外壳或宿主 TForm 的背景设置为包含新外观的图像,以便它通过透明表单流血。这种方法似乎有点笨拙,我担心调整大小的问题,但我想知道这种技术是否可用。

4

3 回答 3

3

使用像 VCLSkin 或 DevExpress Skins 这样的皮肤库。

于 2010-11-28T16:34:23.283 回答
3

几乎所有的皮肤引擎都有自己的皮肤编辑器。所以你只需要偷看一个(Chris Thornton 没有提到 AlphaControls 和 DynamicSkinForm)。然后你需要给你的艺术家那个皮肤编辑器,并让他用那个工具重新绘制他的皮肤。

于 2010-11-29T09:15:42.087 回答
0

听起来您的 UI 和业务逻辑是紧密耦合的。它在 RAD 风格的开发项目中很常见。你最好打破这种耦合。许多UI 架构模式之一将对此有所帮助。我更喜欢MVP Passive View,因为它将所有逻辑从 UI 移到可以单独测试的类中。根据应用程序的体系结构,其他模式之一可能更合适。

我会直言不讳。在现有应用程序中解耦 UI 是一个乏味且有时困难的过程。当您可以自由地更改 UI 并对其背后的逻辑进行最小的更改时,就会获得回报。

于 2010-12-02T14:15:22.793 回答