如何在delphi中开发绘图应用程序

如何在delphi中开发绘图应用程序,delphi,drawing,delphi-7,Delphi,Drawing,Delphi 7,我需要在Delphi中开发一个应用程序,其中我有一个TDrawGrid控件,根据我选择的布局类型,图像显示在网格的单元格中。我在牢房的画布上画了一条线。我需要提供的功能是画一条线,在imgae上画多条线,在单元格中插入,选择任意一条线并移动它,展开它,删除它 有没有办法在运行时将这些行作为控件,以便它们都响应鼠标事件 您可以创建自定义控件。(一定要看一看组件编写器手册,因为有一些捕获) 您可以开始查看TShape控件。它用于简单的形状。也许您可以扩展它以支持行。您可以创建自定义控件。(一定要看一

我需要在Delphi中开发一个应用程序,其中我有一个TDrawGrid控件,根据我选择的布局类型,图像显示在网格的单元格中。我在牢房的画布上画了一条线。我需要提供的功能是画一条线,在imgae上画多条线,在单元格中插入,选择任意一条线并移动它,展开它,删除它


有没有办法在运行时将这些行作为控件,以便它们都响应鼠标事件

您可以创建自定义控件。(一定要看一看组件编写器手册,因为有一些捕获)


您可以开始查看TShape控件。它用于简单的形状。也许您可以扩展它以支持行。

您可以创建自定义控件。(一定要看一看组件编写器手册,因为有一些捕获)


您可以开始查看TShape控件。它用于简单的形状。也许您可以扩展它以支持线条。

我建议不要将图形对象实现为非窗口VCL控件。您将不会从中获得太多,但有些事情(如命中测试)将比您自己编写代码时困难得多

VCL控件是矩形的,所以对于平行对角线,一个控件将位于另一个控件之上,至少部分位于另一个控件之上。通常情况下,鼠标事件仅到达Z顺序中最顶端的控件。这是您必须在自己的代码中更正的内容

选定的线应标记端点,以便用户知道在何处获取它们以进行移动或调整大小。同样,自定义控件不提供(在运行时)的功能,因此您必须编写此代码


我可能只需要创建一个line对象类,自己实现创建、绘制、选择、移动和调整大小、删除线的所有功能。

我建议不要将您的绘制对象实现为非窗口VCL控件。您将不会从中获得太多,但有些事情(如命中测试)将比您自己编写代码时困难得多

VCL控件是矩形的,所以对于平行对角线,一个控件将位于另一个控件之上,至少部分位于另一个控件之上。通常情况下,鼠标事件仅到达Z顺序中最顶端的控件。这是您必须在自己的代码中更正的内容

选定的线应标记端点,以便用户知道在何处获取它们以进行移动或调整大小。同样,自定义控件不提供(在运行时)的功能,因此您必须编写此代码


我可能只需要创建一个line对象类,自己实现创建、绘制、选择、移动和调整大小、删除线的所有功能。

过去,我创建了一个使用形状、文本和连接线的网络设计应用程序。我使用了DevExpress的产品,虽然它有一些缺点,但使任务相对简单


正如mghie提到的,命中测试是一个特别有问题的痛点。很高兴有人帮你做一些繁重的工作。

过去,我创建了一个网络设计应用程序,它使用形状、文本和连接线。我使用了DevExpress的产品,虽然它有一些缺点,但使任务相对简单

正如mghie提到的,命中测试是一个特别有问题的痛点。很高兴有人帮你做一些繁重的工作