gpt4 book ai didi

delphi - 求一个 "Hover button"的方法来展开一段

转载 作者:行者123 更新时间:2023-12-03 18:17:43 24 4
gpt4 key购买 nike

我有一个流程面板,我在运行时根据他们是否选择显示所有项目向其添加额外的项目。一切正常;扩展由工具栏按钮控制。

问题是我们希望用户能够将鼠标移到“+”号上以展开该部分。

alt text

最初我查看了 TSpeedButton (OnMouseEnter),但即使它是“Flat”,焦点矩形仍然显示,因此字形没有居中。这个解决方案的主要问题是它的外观。

然后我看着制作 TImage 的后代。这有点“非常规”,但它会起作用。在 OnMouseEnter 或 OnClick 中,它会切换一个内部 bool “扩展”标志,然后从资源加载适当的图片。我不喜欢那样的非常规解决方案。

我需要将它添加到几个不同的屏幕,因此我可能需要为此拥有/构建一个组件。我有 JVCL,但我没有看到任何合适的副手。

感谢您的评论/帮助!

最佳答案

我一直很喜欢 ModelMaker Code Explorer 使用的方法.

例如,当您添加新方法时,一些很少使用的内容会折叠显示(下图中的“选项和指令”)。

alt text
(来源:17slon.com)

当您将鼠标悬停在文本上时,您会注意到它实际上是一个平面按钮。 (除了它不是 - 我相信 Gerrit 在这里做了一些自定义绘画魔术)。

alt text
(来源:17slon.com)

单击此按钮时,会出现一个面板。按钮仍然存在,但具有新图像。您可以单击它来关闭面板。

alt text
(来源:17slon.com)

此切换按钮的状态在 session 之间保留。 IOW,即使您重新启动 Delphi,下次调用“添加方法”时,“选项和指令”面板将完全按照您上次离开时​​的样子显示。

关于delphi - 求一个 "Hover button"的方法来展开一段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/159262/

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