文章列表:窗口重绘

441

VC++开发GIS系统(259)重绘注释功能实现

前文《VC++开发GIS系统(258)获取可视范围的所有注释》实现了重绘注释的一个重要函数 getAllLabel,用于获取可视范围内的所有注释,接下来的工作是实现重绘注释的功能。 在文章《VC...

423

VC++开发GIS系统(258)获取可视范围的所有注释

之前的文章已经实现了 输入注释 的相应功能,但现在只完成了绘图并保存的过程,当窗口发生重绘时,图形就消失了,所以这里有必要实现注释的重绘功能。为了更高的绘图性能,这里设计在重绘时只绘制可见注释域...

479

VC++开发GIS系统(217)重绘区功能实现

前文《VC++开发GIS系统(216)重绘区之获取可视范围的所有区》实现了重绘区的一个重要函数 getAllPolys,用于获取可视范围内的所有区,接下来的工作是实现重绘区的功能。 在文章《VC...

497

VC++开发GIS系统(216)重绘区之获取可视范围的所有区

之前的文章已经实现了 输入区 的相应功能,但现在只完成了绘图并保存的过程,如图示: 但现在的问题是当窗口发生重绘时,图形就消失了,所以这里有必要实现区的重绘功能。为了更高的绘图性能,这里设计在...

706

VC++开发GIS系统(164)重绘线之更新重绘函数

在文章《VC++开发GIS系统(94)窗口的重绘(四)》中已经实现了点文件的重绘,本文的将继续完善displayAllGraphs函数,来实现线文件的重绘。 更新函数实现 找到malagisVi...

746

VC++开发GIS系统(163)重绘线之绘制一条折线

前文《VC++开发GIS系统(162)重绘线之查找可视范围所有的线》已经可以获取当前可视范围下所有的直线了,下面的工作就是重新绘制这条线了。在文章《VC++开发GIS系统(152)输入线之画直线...

591

VC++开发GIS系统(162)重绘线之查找可视范围所有的线

继续前文重绘线工作,在重绘窗口的时候,判断可视范围下的所有图形可以在一定程度上提高程序的运行速度。 在文章《VC++开发GIS系统(92)窗口的重绘(二)》中讲解了获取可视范围下所有点的函数,本...

725

VC++开发GIS系统(161)判断两个矩形是否相交

本文介绍一个算法,用于判断两个短是否相交。其实有很多方法来实现这个功能,本文只介绍其中一种。 算法思想 两个矩形相交的条件:两个矩形的重心距离在X和Y轴上都小于两个矩形长或宽的一半之和。 算...

634

VC++开发GIS系统(160)重绘线之获取一个图形的外接矩形

经过前文的的努力,已经实现了输入线的相关操作,并且已经可以成功画线了,如如图: 现在既然已经画出图,并且已经保存文件了,但是并没有响应重绘的功能,窗口最大化图形又就消失了,下面的工作用于实现线...

674

VC++开发GIS系统(94)窗口的重绘(四)

前面写过3篇文章介绍了窗口的重绘,但是这仅仅是有View这个层面的。还有一个问题不知道大家有没考虑过,就是左侧面板的文件状态改变的时候,窗口也应该重绘。比如,我显示了文件,应该显示文件内容;我隐...

759

VC++开发GIS系统(93)窗口的重绘(三)

前文《VC++开发GIS系统(92)窗口的重绘(二)》介绍到了使用malaLogic、malaRect来判断是否在显示屏幕范围内,下面进行具体的解释。 外包矩形结构体malaRect 在mala...

691

VC++开发GIS系统(92)窗口的重绘(二)

前文《VC++开发GIS系统(91)窗口的重绘(一)》中介绍到了一个getAllPoint函数,用来获取所有应该显示的图形。本文做一个具体介绍。 函数定义 在_malaIO.h的CPointIO...

781

VC++开发GIS系统(91)窗口的重绘(一)

前文《VC++开发GIS系统(90)画点(最终版)》已经可以正式实现画点了,也就是说画的点已经可以在界面显示,并且保存下来。但是有这么一个问题:当最大化或者最小化窗口的时候,之前画的点就不见了。...