回答
这似乎是太迟了,但我知道Angus's site(“绘图对象”)上有一个免费的。 (我误解了你需要的东西就像你的问题中的非recutanglular 形式像TRzShapeForm)。
对不起。
angus's Drawing Objects http://angusj.com/delphi/drawobj3.png
我注意到他从他的网站中删除了这个组件。 (这个答案可能是增加请求或问题..)。您可以从互联网存档下载此组件(至少现在2013年3月13日)。http://wayback.archive.org/web/20100926090549/http://angusj.com/delphi/ – benok 2013-03-13 08:55:20
这里有很多可能性,其中之一是实现您自己的组件,从TPanel
派生并使用区域来指定面板的区域,这可以通过调用Windows API函数来完成CreatePolygonRgn。您可能必须手动重新对齐子控件。
如果不需要面板包含任何子控件,则应考虑使用形状对象(TShape
),而不是使用形状对象,也可以使用现有构件的组合,或者创建自己的构件。
另一种选择是使用常规面板,并在其上绘制形状作为背景。最简单的方法可能是实现您自己的TPanel
类并处理绘制代码。这不会形成面板,但可以模拟它的视觉特征。如果您需要子组件,则可能需要覆盖Realign
函数以确保子组件保留在异形面板边界内。
另外,你必须尝试在互联网上寻找你的运气找到第三方组件,实现这一点,我做了一个快速搜索,但没有发现任何面板可以做到这一点,虽然我必须承认我的搜索不是很彻底,你可能比我有更好的运气。
我购买http://www.tmssoftware.com/site/products.asp?t=vclp它看起来像它可以做我想做的(并在情况下提供源代码,它不仅90%的我想要什么)
- 1. 寻找任意非矩形体
- 2. RLE寻找矩阵矩形
- 3. 用矩形填充面板
- 4. 矩形面板图形关系
- 5. VCL组件Delphi
- 6. Golang:gorm use寻找非模板迁移表(&)
- 7. 在(非)对角矩阵中寻找非零元素的速度
- 8. 寻找四边形内最大的矩形
- 9. 插入非矩形形状
- 10. C#的WinForms - 滚动面板矩形
- 11. 非矩形图像
- 12. 非矩形图像
- 13. 找出矩形是否被上面的矩形遮挡了?
- 14. 查找矩形包含矩形数组中的点
- 15. 寻求FOSS IPv4地址选择器VCL组件
- 16. 寻找矩阵在MATLAB
- 17. 寻找一个OSD组件
- 18. 寻找3D绘图组件
- 19. 为一组三维矩形物品寻找最佳3D箱子尺寸
- 20. 用于JavaFX的标题面板(矩形命名区域控件)?
- 21. c#:我如何跟踪面板上绘制的非矩形图形上的鼠标事件?
- 22. 将'Vcl'组件移植到'Fmx'组件
- 23. VCL RichEdit组件建议
- 24. Embarcadero Delphi VCL - 组件名称
- 25. Custon UISlider非矩形区域
- 26. vim - 非矩形可视块
- 27. c#非矩形窗口,库?
- 28. 寻找两个矩形(在C#)的重叠区域
- 29. 在AS3中寻找旋转矩形的右上角(Flex)
- 30. 查找3x3矩阵组件
如今,我们可以在http://softwarerecs.stackexchange.com/ – Mawg 2017-03-21 09:11:16