首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免重叠的油漆事件,拱线通过点击和拖动?

避免重叠的油漆事件,拱线通过点击和拖动?
EN

Stack Overflow用户
提问于 2008-10-18 21:19:47
回答 1查看 935关注 0票数 1

我目前是一名学生,并试图设计一个可视化的C++应用程序,使我能够直观地插入一个有方向的图形,以便用图形的矩阵创建一个文本文件。此时,我已经创建了一个onClick事件来创建节点,并使用表单的画图事件来绘制节点。我还插入了避免节点重叠的条件。

我目前正在创建节点之间的链接。我遇到的问题是,将两个节点连接在一起的线跨越另一个节点。我认为,在这种情况下,编写一种算法来检测重叠并计算直线需要拱多少才能避免这种情况太繁琐了。

因此,我考虑创建一个可以由用户通过单击并拖动到左侧或右侧的行,但是我在找到有关如何做到这一点的教程时遇到了问题。因此,如果有人在一个项目中引入这种拱线,或者知道在哪里可以找到有关这方面的一些信息,我会非常感激的。

提到:

  1. 请不要推荐任何花哨的图形库来做这件事,因为我不感兴趣为这个程序安装第三方的东西。我想要插入代码的函数名类似于form1_onPaint,所以我想严格地将它保留在C++标准库中。
  2. 我知道我说过我有兴趣在点击和拖动中架起一条线,但是如果有人能提出另一种可行的解决方案,比如检测onPaint事件中的重叠或任何其他可能用于解决这一问题的函数,这将有很大的帮助。
EN

回答 1

Stack Overflow用户

发布于 2008-10-19 10:16:00

如果您想要绘制曲线,那么请查看Windows函数PolyBezier()

创建一个由四个点组成的数组:第一个点和最后一个点应该是端点,即连接两个节点和从节点连接的节点。两个中间点应该都是相同的,并且应该是曲线的“点”,也就是你用鼠标拖动的位置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/215584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档