mfc 教程

源代码在线查看: untitled-25.txt

软件大小: 3483 K
上传用户: mpeg2000
关键词: mfc 教程
下载地址: 免注册下载 普通下载 VIP

相关代码

				告诉onMouseMove和onLButtonUp是否已画了橡皮筋线。如果。bCaptureEnabled是真,则
				OnLButtonDown的唯一的操作就是捕获鼠标:
				      if(In--bCaptureEnabled)
				          SetCaature();
				    m—bCaptureEnabled由CMainwindow的构造函数初始化为TRUE。它由窗口的onNcLBut-
				tonDown处理程序切换,以便可以打开和关闭鼠标捕获来查看鼠标捕获对程序操作的影响。
				(待会儿详细讨论。)
				    onMouseMove的工作就是无论何时移动了鼠标,都要移动橡皮筋线并用新的光标位置
				更新LptTo。语句
				      InvertL。ne(&dc,。ntFrom,m-ptTo);
				清除以前画的橡皮筋线,而语句
				      InvertLine(&dc,。ptFrom,point);
				画一条新的线。Invertline是CMainwindow的一个成员。它画线不是通过将每个像素设置为
				某种颜色,而是通过转换现有的像素颜色。这就能确保线条无论在什么背景上都可以被看
				见,并且只要恢复原有的屏幕颜色就可以清除已有的线。转换是用下列语句将设备描述表
				的绘图方式设置为RZ.NOT完成的:
				      nit noldriode= pDC-> SetROPZ(RZNOT);
				可以参阅第2章中有关RZ.NOT以及其他绘图模式的介绍。
				    在鼠标左键释放时,调用  CMainwindow:: onLButtonUp。在  m—bTraking被设置为  FAInE
				并释放鼠标以后,它将清除橡皮筋线,最后调用  onMouseMove:
				      CClientDC dc(this);
				      InvertLine(&dC, In--ptFrom, m-ptTo);
				onLButtonUp然后创建一个16像素宽原色为红色的笔,将它选人设备描述表,并绘制粗的红
				色线条:
				      Cnen nen(PS_SOLID, 16, RGB(255, 0, 0》;
				      dc.Selectobject(&pen);
				      dc.MoveTo(。ptFro。);
				      dc.LineTo(po。nt);
				处理结束后, onLButtonUp返回,绘图操作完成。图  3-4显示了  MouseCap窗口含有几条绘制
				好的线和新的橡皮筋线的样子。
				    在熟悉了程序以后,可以单击标题栏激活OnNcLButtonDown处理程序,将。bCaptureEn一
							

相关资源