06简单绘图程序的实现及菜单的使用.docVIP

  • 8
  • 0
  • 约6.99千字
  • 约 7页
  • 2016-11-04 发布于重庆
  • 举报
06简单绘图程序的实现及菜单的使用

06简单绘图程序的实现及菜单的使用 到现在为止已经分别实现了使用鼠标绘制线段、矩形、椭圆,能不能在一个程序里实现这三种操作的切换?当然可以! 对绘制线段、矩形与椭圆的程序进行分析,每一种绘图操作有三个动作:鼠标落下、鼠标移动与鼠标弹起,分别对应于3段代码,对画线的三段代码进行分析,与这写代码相关的变量有: 与消息相关的变量:HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam; 与绘图操作相关的变量: POINT ptStart,ptEnd;BOOL bMouseDown; 如果把相关代码封装在三个绘图函数中,则以上变量都是窗口函数的局部变量,在绘图函数中是无法访问的,可以将消息的参数作为绘图函数的参数传到绘图函数中,也可以将绘图相关的变量变成函数参数,但这样存在以下问题:参数数量较多,效率较低,如果以后因为增加绘图函数的功能需要增加新的变量则需要修改函数的原型;因此可以将与绘图函数相关的变量封装在一个结构体内,在窗口函数中 一个结构体变量,给绘图函数传入一个结构体指针。 定义结构体如下: typedef struct tagDrawStru { POINT ptStart,ptEnd; BOOL bMouseDown; } DRAWSTRU,*PDRAWSTRU; 在窗口函数中定义如下静态局部变量: static DRA

文档评论(0)

1亿VIP精品文档

相关文档