寻找非矩形面板VCL组件

时间:2010-01-13 02:22:44

标签: delphi components c++builder vcl

有时我想要L形,T形,三角形,多边形......

请使用免费的可重复使用的组件。 。

3 个答案:

答案 0 :(得分:4)

这里有很多可能性,其中一个是实现你自己的组件,派生自TPanel并使用a区域来指定面板的区域,这可以通过调用Windows API函数CreatePolygonRgn。您可能需要手动重新对齐子控件。

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

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

或者你必须在互联网上试试你的运气,找到实现这一点的第三方组件,我做了一个快速搜索但发现没有专门做这个的面板,虽然我必须承认我的搜索不是太彻底,你可能比我好运。

答案 1 :(得分:4)

似乎为时已晚,但我知道Angus's site上有一个免费的。(“绘图对象”)。 (我误解了你的需要就像你的问题中的非{rec> 形式一样TRzShapeForm。)

对不起。

angus's Drawing Objects http://angusj.com/delphi/drawobj3.png

答案 2 :(得分:0)

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

另见Seeking floorplan design VCL toolbar

相关问题