2010-10-18 80 views

回答

0

看看StarUML的源代码。它是一个完整的图表工具,它直接集成到IDE中。诚然,这是UML图,而不是流程图,但你应该能够从中收集很多想法。该项目已经过渡到Java,但仍然有原始的Delphi代码作为可下载的zip文件。

如果您打算创建商业产品,请记住它是根据GPL授权的。

0

根据你的时间限制,它的真的没有那么难使用TCanvas中的绘图方法自己创建它。 (或者为了更冒险,直接使用GDI/GDI +/Direct2D)。

这样做的好处是,您不再依赖于第三方组件,可以使其完全符合您的需求,而无需让您的应用适合组件的思维方式。另外,自从您编写它以来,没有授权许可证。

不利的一面是,你需要自己一切。

像流程图这样的绘图应用程序的关键实际上是存储数据。每个形状应该是一个具有几个方法(如draw())的对象的实例。不同的形状应该有不同的派生类,每个派生类都有自己的重载draw()方法来绘制该形状。形状可以存储在TList或类似的容器中。要绘制文档,请迭代对象列表并调用其绘制方法。

+0

,我在问什么,你有什么想法我应该读吗?任何样品或任何东西让我走向正确的方向? – killercode 2010-10-19 22:03:38

+0

也应该用我应该会反分析?所以我不浪费时间重写;谢谢 – killercode 2010-10-19 22:32:26

+0

曾经有&可能仍然是一个简单的绘图示例,我相信随Delphi一起展示了如何绘制形状以响应鼠标操作。我不知道它是否仍然存在,因为我没有安装它们。我不知道任何其他介绍基本的德尔福图形,虽然我敢肯定,如果你在网上看,你会发现吨。基本上,你想学习如何使用TCanvas及其方法。每个paint box/timage都有自己的画布对象 - 您只需设置画笔和线条颜色,并告诉它绘制矩形,多边形等等。通常,您可以在OnPaint事件中执行此操作。 – GrandmasterB 2010-10-20 06:17:00