|
|
1
3
我建议不要将绘图对象实现为非窗口VCL控件。你不会从中得到什么,但是有些事情(比如命中测试)会比你自己编写代码困难得多。 VCL控件是矩形的,因此对于平行对角线,一个控件将位于另一个控件的顶部,至少部分位于另一个控件的顶部。通常,鼠标事件只到达z顺序中最顶端的控件。这是你必须在自己的代码中纠正的。 选定的行应标记端点,以便用户知道在何处获取它们以进行移动或调整大小。同样,自定义控件不提供(在运行时),因此您必须对此进行编码。 我可能只需要创建一个Line对象类,并实现所有创建、绘制、选择、移动和调整大小、删除行的功能。 |
|
|
2
1
您可以创建自定义控件。(请务必查看组件编写器手册,因为有一些捕获)。 您可以开始查看tshape控件。它用于简单的形状。也许你可以在上面扩展以支持线。 |
|
|
3
1
在过去,我创建了一个网络设计应用程序,它使用形状、文本和连接线。我用了devexpress' ExpressFlowChart 产品,虽然它有一些缺点,使任务相对简单。 正如mghie提到的,命中测试是一个特别有问题的痛点。很高兴有人帮你搬这么重的东西。 |
|
zeus · 如何在调整数组大小后保持指向动态数组的指针有效? 1 年前 |
|
|
SignalOne · 德尔福(FMX)循环参考 2 年前 |
|
|
Sascha Ott · 如何从线程调用线程的方法? 2 年前 |
|
|
user1580348 · 问题:如何在上次最小化后还原应用程序? 2 年前 |
|
tua · Delphi的TLinkLabel坏了吗? 2 年前 |
|
|
Frank.Wu · delphi:RGB到HSL不正确 2 年前 |