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

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

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

【问题讨论】:

标签: delphi components c++builder vcl


【解决方案1】:

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

对不起。


(来源:angusj.com

【讨论】:

【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 2020-06-21
    • 2014-11-06
    • 1970-01-01
    • 2012-10-25
    • 2012-05-26
    相关资源
    最近更新 更多