if (selectMode == size && c_drawShape == selection)
{
c_last = point;
SetCursor(pView->m_selection.GetHead()->GetHandleCursor(nDragHandle));
return; // bypass CDrawTool
}
c_last = point;
if (c_drawShape == selection)
CDrawTool::OnMouseMove(pView, nFlags, point);
}
3 结语
至此,基本上就达到了预定目标。图1是按以上叙述实现的绘制统筹图程序的运行图,示出了正在对编号为2 的节点进行移动或删除联动操作。本示例中没有对实现的效率问题有过多考虑,程序在 Microsoft Windiows 2000,Visual C++6.0下完成。
图1 绘制统筹图程序运行界面
参考文献
[1] 王建华,等译Jeffrey Richter.windows核心编程. 北京:机械工业出版社,2001.
[2] 张宏林.Visual C++6.0 程序设计与开发技术.北京: 人民邮电出版社, 2004, 63- 177.
[3] 张海棠.Visual C++6.0 编程指南.北京: 航空工业出版社, 2000: 95-156.
[4] 雷斌.VisualC++6.0.北京:人民邮电出版社,2000.
[5] RogerSPressman.软件工程:实践者的研究方法.北京:机械工业出版社,2002.
[6] 郑阿奇,丁有和,郑进,等.Visual C 实用教程[M].第2版,北京:电子工业出版社,2003. [7] 飞思科技产品研发中心.Visual C灵感编程[M].北京;电子工业出版社,2003.
|