2

Delphi IDE 的“代码完成”功能包括带有代码参数的第二个弹出窗口 - 右侧的那个: 在此处输入图像描述

该窗口的一个有趣特性是它会自动调整大小以适应内容。必须使用哪些参数来创建这样的窗口,以及如何在 Delphi (XE) 中实现自动调整大小?

4

1 回答 1

3

我称之为提示窗口。“自动”调整大小是由代码完成的,而不是单独由参数完成的,除非这些参数是组件中的属性,然后组件会承担自动调整大小以适应内容的工作。事实上,这可能就是你想要的。

您可以使用 Raw Win32 API 术语自己完成这一切……但工作量很大。可以调整窗口大小以适应文本,使用没有边框并设置样式 WS_POPUP 的窗口,并自己绘制所有内容,并使用可以返回文本大小的 DrawTextEx API,但更简单的方法是使用提示窗口组件,其中一些可让您根据其中的内容调整它们的大小。除非您真的需要重新发明轮子,否则已经编写了很多提示窗口组件。使用一个。

我用过,并且可以推荐来自 TMS(商业)和 JEDI JVCL(免费)的提示窗口组件,它们都可以像上面那样做窗口提示。TMS Html Hint 和 TMS Office 提示组件都能够产生与上述类似的结果。

如果您需要一个免费的解决方案,JVCL 中内置的 TJvHintWindow 没有 TMS 那么多的功能,但可以通过一些工作进行调整和修改,以完成与您展示的图片非常相似的事情。

于 2012-02-19T02:49:37.253 回答