14.3 实际绘制图形
前面介绍了绘制直线和弧的方法,现在用户要考虑如何在Sketcher程序中绘图。换句话说,需要确定如何发挥用户界面的作用。
由于Sketcher程序是一种草图绘制工具,因此用户不需要担心坐标。绘图的最简便机制是只使用鼠标。例如,在绘制一条直线时,用户可以确定光标的位置,在开始绘制时按下鼠标左键,然后按住不动,通过移动光标来定义直线的终点。在按住鼠标左键移动光标时,如果能够连续地绘制直线,就太理想了(对于图形设计人员来说,这称为"拉橡皮筋")。在释放鼠标左键时,这条直线将定型。图14-6说明了这个过程。

圆允许按照类似的方式绘制。第一次按下鼠标左键时将定义圆心,当按住左键移动光标时,程序将跟踪光标。将连续地重新绘制圆,当前光标位置定义圆的周长上的一个点。如同绘制直线那样,在释放鼠标左键时,圆将定型。图14-7说明了这个过程。

绘制矩形和绘制直线一样容易,如图14-8所示。

第一个点由按下鼠标左键时光标的位置定义。这是矩形的一个角。在按住左键移动鼠标时,光标的位置将定义矩形的斜对角。实际存储的矩形是在释放鼠标左键时定义的最后一个矩形。
曲线的绘制则有点不同。任意数量的点都可以定义一条曲线。图14-9说明了要使用的机制。如同其他形状那样,第一个点由按下鼠标左键时指针的位置定义。在移动鼠标时记录的连续位置由直线段连接起来,构成这条曲线,所以鼠标轨迹定义要绘制的曲线。

介绍了用户如何定义元素以后,在了解实现方式时,下一步显然是要掌握如何对鼠标进行编程(www.cppentry.com)。