gpt4 book ai didi

delphi - 如何用Delphi实现高亮工具栏图标?

转载 作者:行者123 更新时间:2023-12-03 15:04:18 25 4
gpt4 key购买 nike

当工具栏图标的关联操作的“checked”属性设置为 true 时,我想突出显示工具栏图标。我想以类似于 Microsoft Office 2003 的方式进行操作,例如请参阅此图中的粗体和左对齐图标:

Toolbar example

图像周围有一个框,背景已更改为橙色。

如何使用 Delphi 2009 实现此功能?

作为奖励,是否还有一种方法可以对关联项目的菜单中的图标执行相同的操作?例如标尺和标记条目如下:

Menu example

<小时/>

后续:

谢谢安德烈亚斯,他对我的问题给出了简单而正确的答案。作为一名转换为 Delphi 2009 的 Delphi 4 程序员,我对 Delphi 5 到 7 的 VCL 添加还不够熟悉,因此 TActionManager、TActionToolbar 及其工作原理并不在我的 Delphi 词汇表中。这是基于 Delphi 使用类似于 Microsoft O/S 主题的样式的能力。

但是,根据您的回答以及使用它进行的一些研究,我确认我不想以这种方式执行此操作。一个有启发性的 Embarcadero 线程:弹出菜单:"Checked" items with icon no longer shown as sunken? Peter Below 贡献了他的专业知识,让我意识到我根本不想更改为 XP 主题,因为这会给 Vista 和 Windows 7 用户带来麻烦,让他们回到青铜时代。

真正的罪魁祸首是操作系统主题希望你尊重某些事情。德尔福试图遵守规则。我可以返回 XP、XP 样式/主题和 XP 颜色图。在此模式下,选中的项目将突出显示。这确实是我想要的——突出显示已检查的项目。我使用 Office 2003 作为示例,因为它是我想要的那种突出显示。但我真的不想完全改变主题并强制我的程序焕然一新。对于 Vista 和 Windows 7 用户来说,这尤其会让事情看起来不自然。

理想的是,如果我可以拥有另一组在检查对象时应用的图像......但没有“CheckedImages”属性。或者一种以编程方式或自动修改图像(如果选中)的方法(例如,禁用的图像获得其启用的图像的灰度版本)。

如果有任何方法可以实现这个或其他可能同样有效的方法,而不改变我的程序的整体外观,我仍然不介意听取任何人的意见。

最佳答案

向表单添加一个TActionManager,并创建一些操作(例如粗体、斜体和下划线)。确保将每个操作的 AutoCheck 属性设置为 true。然后添加一个TActionToolbar。双击 Action 管理器,然后将三个 Action 拖到工具栏上。现在将 TXPColorMap 添加到表单,并将其分配给操作管理器。还要添加 TImageList 并添加粗体、斜体和下划线图标(来自 C:\Program Files (x86)\Common Files\CodeGear Shared\Images\GlyFX\Icons\BMP\16x16 )。将图像列表分配给操作管理器。

将工具栏图标设置为仅显示字形而不显示标题。最后,将 ActionManager 的 Style 属性设置为 XP Style。最终结果就是您所寻求的。

Toolbar sample

关于delphi - 如何用Delphi实现高亮工具栏图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4890805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com