寻找非矩形面板 VCL 组件 [关闭]

Posted

技术标签:

【中文标题】寻找非矩形面板 VCL 组件 [关闭]【英文标题】:Looking for non-rectangular panel VCL component [closed] 【发布时间】:2011-01-04 11:13:14 【问题描述】:

有时我想要L形、T形、三角形、多边形……

请免费的可重用组件。 . .

【问题讨论】:

现在,我们可以在softwarerecs.stackexchange.com提出这样的问题 【参考方案1】:

似乎为时已晚,但我知道Angus's site.("Drawing Objects") 上有一个免费的。 (我从你的问题中误解了你需要的是像TRzShapeForm 这样的非矩形form。)

对不起。

(来源:angusj.com)

【讨论】:

我注意到他从他的网站上删除了这个组件。 (这个答案可能是增加请求或问题..)。您可以从 Internet 存档下载此组件(至少现在是 2013 年 3 月 13 日)。wayback.archive.org/web/20100926090549/http://angusj.com/delphi【参考方案2】:

这里有很多可能性,其中一种是实现您自己的组件,从TPanel 派生并使用区域指定面板的区域,这可以通过调用 Windows API 来完成函数CreatePolygonRgn。您可能必须手动重新调整子控件。

如果您不需要面板包含任何子控件,则应考虑使用形状对象 (TShape),您可以使用现有对象的组合,或创建自己的对象。

另一种选择是使用常规面板,并在其上绘制形状作为背景。最简单的方法可能是实现您自己的TPanel 类并处理绘制代码。这不会塑造面板,但您可以模拟它的视觉特征。如果您需要子组件,您可能需要重写 Realign 函数以确保子组件保持在成形面板边界内。

或者,您必须在互联网上碰碰运气,找到实现此功能的 3rd 方组件,我进行了快速搜索,但没有找到可以专门执行此操作的面板,尽管我必须承认我的搜索不太彻底,您可能运气比我好。

【讨论】:

是的,Tommy,我知道我可以自己编写代码。我什至知道怎么做;但我也知道这样做会给后人带来痛苦——这就是为什么我希望有一个免费的组件可以避免我重新发明太多的***。 (顺便说一句,panel 确实需要支持子控件;它需要支持 TPanel 所做的一切。我需要一个子类)而且,是的,我确实知道如何使用 google。我在这里是因为和你一样,我什么也没找到(经过严格的搜索) mawg - 也许您应该在问题中说明您正在寻找现有的免费可重用组件【参考方案3】:

我购买了http://www.tmssoftware.com/site/products.asp?t=vclp,它看起来可以做我想做的事(并提供源代码,以防它只做我想做的 90%)

另见Seeking floorplan design VCL toolbar

【讨论】:

以上是关于寻找非矩形面板 VCL 组件 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

创建兼容 VCL 和 FMX 的新组件

Delphi 是不是有任何“思维导图”组件? (最好是原生 VCL)[关闭]

Delphi如何安装VCL控件和修改快捷键

需要帮助关闭控制面板

按边缘排列摆动组件

是否有 WPF 显示/隐藏面板组件?