回答
这似乎是太迟了,但我知道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. 用矩形填充面板
- 6. 矩形不会在面板
- 7. 矩形面板图形关系
- 8. VCL组件Delphi
- 9. Golang:gorm use寻找非模板迁移表(&)
- 10. 寻找石墨图形模板
- 11. 寻找小矩阵
- 12. 在(非)对角矩阵中寻找非零元素的速度
- 13. 修改VCL组件
- 14. Android OpenCV寻找最大的正方形或矩形
- 15. 寻找四边形内最大的矩形
- 16. 插入非矩形形状
- 17. 在面板上绘制一个矩形
- 18. 在面板上重绘矩形
- 19. C#的WinForms - 滚动面板矩形
- 20. 非矩形图像
- 21. 非矩形图像
- 22. 寻找C#2D平面代图形库
- 23. 找出矩形是否被上面的矩形遮挡了?
- 24. 寻求FOSS IPv4地址选择器VCL组件
- 25. 查找矩形包含矩形数组中的点
- 26. 寻找矩阵在MATLAB
- 27. 寻找强连接组件?
- 28. 寻找一个OSD组件
- 29. 寻找3D绘图组件
- 30. 为一组三维矩形物品寻找最佳3D箱子尺寸
如今,我们可以在http://softwarerecs.stackexchange.com/ – Mawg 2017-03-21 09:11:16