如何显示类似于Delphi XE代码提示的工具提示或提示信息

5
我想要实现一个类似 Delphi XE 在调试时鼠标悬停在对象上的提示框。也就是说,它会打开一个带有加号的提示窗口,您可以展开等等。
我正在尝试创建一个提示窗口,在悬停在控件(例如按钮)上时显示项目列表,让用户点击项目后,我可以根据他们选择的项目执行某些操作。
是否有任何已经可以实现此功能的组件?或者我最好只是创建一个无边框窗体,并使用鼠标事件自己处理显示/隐藏?
谢谢。
Jason
1个回答

2

快速查看HTMLHint(最好从作者处获取:http://tmssoftware.com/site/htmlhint.asp),并没有向我展示如何立即响应提示窗口上的点击,更不用说根据所点击的内容做出响应了。我不知道HintBox,但我猜测它也不会提供这种行为,因为大多数提示组件都不提供这种行为,而这正是Jason正在寻找的。 - Marjan Venema
@Marjan Venema:是的,我对这些组件没有经验。它严重取决于Jason在单击事件中想要做什么。如果像Delphi IDE一样,嵌入式HTML技术可能就足够了。你同意吗? - TridenT
我的观点是 THTMLHint 组件中没有“onclick事件”。虽然 THTMLHint 支持嵌入式迷你 HTML,但与其他支持迷你 HTML 的 TMS 组件不同,THTMLHint 没有任何 OnAnchor... 事件来响应鼠标单击锚标记。 - Marjan Venema
谢谢大家的帮助,但最终我还是决定自己创建一个表单并进行必要的处理。这其实很容易实现——只需要花点时间让表单在点击“提示”表单时不失去焦点(或者至少看起来是这样),就可以了。使用表单也会给我带来足够的灵活性。 - Jason
@Jason:感谢反馈!了解故事的结局总是很好的。 - TridenT
我建议您使用CreateWindow创建自己的窗口,将自定义窗口用于提示的激活和去激活。在自定义提示中放置TWebBrowser并处理OnBeforeNavigate2事件。一个很好的开始是阅读Th的源代码,并了解THintWindow和THintWindowClass在Delphi中的工作原理。 - Gad D Lord

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接