预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一、绘图功能 (一)生成Draw程序框架 (二)鼠标绘图 用鼠标绘制图形,一般分三个环节: 确定绘图位置:按下鼠标左键,产生WM_LBUTTONDOWN消息 确定图形显示范围:拖动鼠标,产生WM_MOUSEMOVE消息 完成图形显示:放开鼠标左键,产生WM_LBUTTONUP消息 1.在视图类CDrawView中加入数据成员 选择ClassView视图,双击CdrawView,光标直接停留在类CdrawView的定义处。在类CdrawView的定义中加入如下代码。 classCDrawView:publicCView { //代码开始编写 protected: intm_Dragging; CPointm_PointOld; CPointm_PointOrigin; //代码编写结束 protected://createfromserializationonly CDrawView(); DECLARE_DYNCREATE(CDrawView) //Attributes public: CDrawDoc*GetDocument(); //Operations public: //Overrides //ClassWizardgeneratedvirtualfunctionoverrides //{{AFX_VIRTUAL(CDrawView) public: virtualvoidOnDraw(CDC*pDC);//overriddentodrawthisview virtualBOOLPreCreateWindow(CREATESTRUCT&cs); protected: virtualBOOLOnPreparePrinting(CPrintInfo*pInfo); virtualvoidOnBeginPrinting(CDC*pDC,CPrintInfo*pInfo); virtualvoidOnEndPrinting(CDC*pDC,CPrintInfo*pInfo); //}}AFX_VIRTUAL //Implementation public: virtual~CDrawView(); #ifdef_DEBUG virtualvoidAssertValid()const; virtualvoidDump(CDumpContext&dc)const; #endif protected: //Generatedmessagemapfunctions protected: //{{AFX_MSG(CDrawView) //NOTE-theClassWizardwilladdandremovememberfunctionshere. //DONOTEDITwhatyouseeintheseblocksofgeneratedcode! //}}AFX_MSG DECLARE_MESSAGE_MAP() }; 2.在视图类构造函数CdrawView()中初始化数据成员 选择ClassView视图,单击CdrawView,找到并双击构造函数CdrawView(),光标直接停留在CDrawView::CDrawView()处。在类CdrawView类构造函数CdrawView()的函数体中加入如下代码。 CDrawView::CDrawView() { //TODO:addconstructioncodehere //代码开始编写 m_Dragging=0; //代码编写结束 } 3.加入WM_LBUTTONDOWN的消息处理函数OnLButtonDown() (1)在“查看”菜单中选择“建立类向导”(ClassWizard)命令,打开MFCClassWizard窗口。 (2)选择MessageMaps。 (3)分别选择: Project:Draw ClassName:CDrawView ObjectsIDs:CDrawView Messges:WM_LBUTTONDOWN (4)单击AddFunction按钮。 (5)单击EditCode按钮。在OnLButtonDown()函数体中加入以下部分。 voidCDrawView::OnLButtonDown(UINTnFlags,CPointpoint) { //TODO:Addyourmessagehandlercodehereand/orcalldefault //代码开始编写 m_PointOrigin=point; m_PointOld=point; m_Dragging=1; //代码编写结束 CView::OnLButtonDown(nFlags,