首页 > 其他分享 >MFC绘制无向图

MFC绘制无向图

时间:2022-08-16 11:46:37浏览次数:85  
标签:存储 MFC 鼠标 列表 无向 顶点 绘制

MFC绘制无向图

通过MFC界面实现简单的无向图功能:
用鼠标左键点击,按顺序生成一幅无向图,无线图的节点用图标icon显示,节点之间用直线连接,点击到已有的点视为上一个点和已有的点连通(判断点到已有点采用5个像素为阈值)通过Serialize函数将无向图的数据存储到文件里,下一次能够打开该文件原样显示。

设计思想

采用C++语言,MFC实现无向图绘制,需要先考虑鼠标对顶点和边的操作,可以采用鼠标左键创建顶点,鼠标右键选择其中一个顶点到另一个顶点,创建两个顶点之间的边。数据结构设计一个顶点列表(vertex list)和一个边列表(edge list),顶点列表包含顶点标号,X,Y坐标等信息,边列表包含两顶点之间的边信息,无向图数据的存储就是将这个顶点列表和边列表以文本形式存储到文件,对无向图数据的加载就是重新解析之前存储的文件数据,对顶点和边进行重绘。

程序界面

截屏.png

录屏展现

绘制无向图
绘制无向图.gif

无向图的存储和加载
无向图的存储和加载.gif

源码下载

链接:https://pan.baidu.com/s/1UcrzkYf7YWYpAfzBO9qNBQ?pwd=1111
提取码:1111

标签:存储,MFC,鼠标,列表,无向,顶点,绘制
From: https://www.cnblogs.com/codewriter/p/16591030.html

相关文章

  • C#-WPF-LiveChart大数据时图标绘制(曲线图)并支持图片保存
    xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"<Button   Name="SaveBtn"   Grid.Row="0"   Width="100"   Height="32"   ......
  • MFC实现Txt01之手写代码实现输入
    不是很想写这个。。。主要是因为这一块内容都是照着孙鑫那本书上的内容写的,没什么特别之处,而且网上很多这些内容,随便百度一下就有,(第五章,文本编程,放个链接,这位写的还不错)(其......
  • MFC画刷绘图(想模仿Microsoft的画图)
    CBrush类,创建画刷对象,通常用于填充一块区域。(此处缺gif,术业有专攻,东西也有专用。。。日后一定补上来,痛哭流涕) 1.创建一个红色画刷绘图:(鼠标左键按下,这个消息响应OnLButto......
  • matplotlib.pyplot绘制子图以及子图大小和位置的调整
    今天为了把下面的8个子图的图形调的清晰加上大小合适,花费了大概5个多小时的时间,把这段代码记录下来,以防电脑上代码丢失,制图的大小,间距、位置,颜色怎么调整,看里面的注释。很......