我刚收到一些我的Delphi Pro 6应用程序的艺术家渲染图像,我将用它来彻底检查它的外观和感觉。问题当然是我的应用程序与任何其他Delphi应用程序一样,使用VCL自定义控件库,并且这些控件自行绘制,并且通常不利于改变其外观和感觉。我也大量使用开源JEDI JVCL库。
如果有人在那里有一些提示,文章,网页或任何谈论从图像工作到重新修改或检修Delphi 6应用程序的东西,我将很高兴知道它。这是一个很大的应用程序,有大量复杂的TFrame后代和大量使用JEDI VCL页面控件,因此切换到一个全新的组件库是不切实际的。
我还没有尝试过的一个想法是通过将当前表单的Parent属性更改为新的TForm并设置当前表单的AlphaBlend属性来获取每个顶级表单并将其嵌套在另一个TForm中是透明的。然后我将新的shell或托管TForm的背景设置为包含新外观的图像,以便透过透明表单进行渗透。这种方法看起来很糟糕,我担心调整问题的大小,但这种技术让我想知道它是否可用。
答案 0 :(得分:3)
使用像VCLSkin或DevExpress Skins这样的皮肤库。
答案 1 :(得分:3)
几乎所有皮肤引擎都有自己的皮肤编辑器。所以你只需要偷看一个(Chris Thornton没有提到AlphaControls和DynamicSkinForm)。然后你需要给你的艺术家提供皮肤编辑器,然后让他用这个工具重绘他的皮肤。
答案 2 :(得分:0)
听起来你的UI和业务逻辑是紧密耦合的。它在RAD风格的开发项目中很常见。你最好打破这种耦合。其中一个UI architectural patterns将有助于此。我尽可能地选择MVP Passive View,因为它将所有逻辑从UI移出到可以单独测试的类中。根据应用程序的体系结构,其他模式之一可能更合适。
我会直言不讳。在现有应用程序中解耦UI是一个繁琐且有时很困难的过程。当您可以自由地更改UI时,只需对其背后的逻辑进行最小的更改即可获得回报。