delphi – 创建Ribbon样式的应用程序

使用标准的Delphi TRibbon组件,我注意到他们并不是那么精彩。

>首先,它们看起来不如微软那样好,例如,TRIBOB中的发光效果和颜色不会像在Windows 7中用于写字板或Paint中那样令人印象深刻。
>其次,如果要创建Ribbon Styled界面,我注意到没有Ribbon风格菜单或独立于TRibbon的弹出式菜单。对于实际的功能区来说,但是如果说出于连续性目的,你想要分配给TListbox或TListView的Ribbon风格弹出菜单,似乎不是一个。
>第三,有时当功能区动作被禁用时,它仍然显示热眩光效果,就好像将鼠标悬停在“动作”上,尽管它被禁用。
>最后,我发现它很容易地将容器组件(如TCombobox)放在一个组中。控制和位置等等真的很尴尬

我想我的观点是使用标准的Delphi TRibbon组件看起来不是视觉上和可用性最好的方法。如何让一个Ribbon风格的应用程序看起来像微软那样整齐地工作,就像我在Windows 7中写的那样写道:

看看这个比较截图,以获得更好的主意:

德尔福丝带似乎不完整,除非我期待太多。我相信Ribbon组件是为您的应用程序提供更好的体验,为最终用户提供视觉和更好的工作空间等。

你可以提出什么建议,以增强或使TRIBBOB的工作,看起来像微软?

我不会一直使用功能区风格的接口,所以购买第三方组件不是我真正想做的事情。我看过TMS和DevExpress,但是对于他们的价格,他们也看起来也不好。 TMS看起来比标准的Delphi TRibbon差。

对于本地的外观,请查看Windows Ribbon Framework for Delphi

这是自Windows 7以来的the Windows Ribbon Framework可用的开放源代码软件包(安装了官方更新后的Vista)。这是Windows 7 Word Pad使用的API。

还要注意,您有两种布局:Office 2007和Office 2010. Delphi VCL功能区实现Office 2007风格,而Windows 7写字板则使用Office 2010样式。

在某些客户的一些项目中,我们使用了TMS software Ribbon components.代码有点过大(很多重复或不好的书面东西,如组件持久性),但它的工作原理很好,支持2007和2010的Ribbon样式。对于我们的客户来说,渲染是重要的。对于我们的开源框架,从代码生成的we published a dual solution for building a Ribbon-like GUI:它将使用标准VCL组件进行基本布局,也可以使用完整的Office 2007/2010渲染的TMS组件。我们只是定义了一些类,由两个库实现。如果您在自己的代码中使用SQLite3ToolBar中定义的通用组件(即TSynForm,TSynToolBar,TSynToolButton,TSynPopupMenu,TSynPage,TSynPager,TSynBodyPager和TSynBodyPage类)和SynTaskDialog(对于TSynButton),则USETMSPACK条件将为您。

我们没有使用Delphi 2009中引入的功能区组件。其动作驱动的设计不能轻松地与用户界面处理的事件驱动设计进行接口,我们必须承认这个组件有相当糟糕的声誉(至少在德尔福2009版)。

伟大的Windows功能框架的Delphi将不适合我们需要一个即时生成的功能区从代码。它的设计,从微软的实现本身,是创建从一个XML资源的UI,在编译链接…所以它不符合我们的需要,但它可能适合您的更多的“静态”应用程序UI设计。

如果您在应用程序中使用类似Office的功能区,请注意Office UI Licensing

http://stackoverflow.com/questions/6327845/creating-ribbon-styled-applications

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:delphi – 创建Ribbon样式的应用程序