mfc经典程序,c++本程序包括两个算法的实现:DDA和Brensenham,分别用红色和蓝色来表示,如果用户能明确分辨现在已选的算法,还可以改变线条的颜色。
另外,如果用户不想用鼠标来画线,本程序提供对话框来确认起点和终点坐标,通过点“坐标设置”来实现。
本程序还考虑到屏幕的重画情况,当对界面最大化或最小化后恢复正常时系统会对进行重画,如果不对这一情况进行处理的话。
当界面大小改变时所画的线会不见。
具体的解决方法是:每次鼠标按下时,即选中起点,把这个起点加进起点链表的开头,鼠标弹起时,即选中线段的终点,此时把这个起点保存在终点链表的开头。
重画会调用函数OnDraw,在这个函数中每次画一条直线便从起点链表取一个起点,从终点链表中取一个终点,调用对应的画线算法。
为了使操作更直观,在画线过程中,线的终点还能跟着鼠标的移动而移动,直到用户选定一个确定的终点。
本程序还附带了解说视频,以补充之前展视过程的不足。
1