基于VC++MFC程序設计简易画图板.doc(4)

电脑杂谈  发布时间:2019-08-21 08:04:35  来源:网络整理

ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CGraphicDoc)));return(CGraphicDoc*)m_pDocument;}#endif//_DEBUG///////////////////////////////////////////////////////////////////////////////CGraphicViewmessagehandlersvoidCGraphicView::OnDot(){//TODO:Addyourcommandhandlercodeherem_nDrawType=1;}voidCGraphicView::OnLine(){//TODO:Addyourcommandhandlercodeherem_nDrawType=2;}voidCGraphicView::OnRectangle(){//TODO:Addyourcommandhandlercodeherem_nDrawType=3;}voidCGraphicView::OnEllipse(){//TODO:Addyourcommandhandlercodeherem_nDrawType=4;}voidCGraphicView::OnShanxing(){//TODO:Addyourcommandhandlercodeherem_nDrawType=5;}voidCGraphicView::OnLianxuxian(){//TODO:Addyourcommandhandlercodeherem_nDrawType=6;}voidCGraphicView::OnJdhs(){//TODO:Addyourcommandhandlercodeherem_nDrawType=7;}voidCGraphicView::OnWths(){//TODO:Addyourcommandhandlercodeherem_nDrawType=8;}voidCGraphicView::OnTmhs(){//TODO:Addyourcommandhandlercodeherem_nDrawType=9;}voidCGraphicView::OnLButtonDown(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultm_ptOrigin=point;m_bDraw=true;m_ptOld=point;CView::OnLButtonDown(nFlags,point);}voidCGraphicView::OnLButtonUp(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultm_bDraw=false;CClientDCdc(this);CPenpen(m_nLineStyle,m_nLineWidth,m_clr);dc.SelectObject(&pen);m_dcMetaFile.SelectObject(&pen);CBrush*pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));dc.SelectObject(pBrush);m_dcMetaFile.SelectObject(pBrush);CBrushbrush(m_clr);CBitmapbitmap;bitmap.LoadBitmap(IDB_BITMAP1);CBrushbrush1(&bitmap);switch(m_nDrawType){case1:dc.SetPixel(point,m_clr);m_dcMetaFile.SetPixel(point,m_clr);break;case2:dc.MoveTo(m_ptOrigin);dc.LineTo(point);m_dcMetaFile.MoveTo(m_ptOrigin);m_dcMetaFile.LineTo(point);break;case3:dc.Rectangle(CRect(m_ptOrigin,point));m_dcMetaFile.Rectangle(CRect(m_ptOrigin,point));break;case4:dc.Ellipse(CRect(m_ptOrigin,point));m_dcMetaFile.Ellipse(CRect(m_ptOrigin,point));break;case7:dc.FillRect(CRect(m_ptOrigin,point),&brush);m_dcMetaFile.FillRect(CRect(m_ptOrigin,point),&brush);break;case8:dc.FillRect(CRect(m_ptOrigin,point),&brush1);m_dcMetaFile.FillRect(CRect(m_ptOrigin,point),&brush1);break;case9:CBrush*pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));CBrush*pOldBrush=dc.SelectObject(pBrush);dc.Rectangle(CRect(m_ptOrigin,point));m_dcMetaFile.Rectangle(CRect(m_ptOrigin,point));dc.SelectObject(pOldBrush);m_dcMetaFile.SelectObject(pOldBrush);break;}OnPrepareDC(&dc);dc.DPtoLP(&m_ptOrigin);dc.DPtoLP(&point);CView::OnLButtonUp(nFlags,point);}voidCGraphicView::OnMouseMove(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultswitch(m_nDrawType)case5:{CClientDCdc(this);CPenpen(m_nLineStyle,m_nLineWidth,m_clr);CPen*pOldpen=dc.SelectObject(&pen);if(m_bDraw==true){dc.MoveTo(m_ptOrigin);m_dcMetaFile.MoveTo(m_ptOrigin);dc.LineTo(m_ptOld);m_dcMetaFile.LineTo(m_ptOld);dc.LineTo(m_ptOld);m_dcMetaFile.LineTo(m_ptOld);m_ptOld=point;}dc.SelectObject(pOldpen);m_dcMetaFile.SelectObject(pOldpen);CView::OnMouseMove(nFlags,point);}switch(m_nDrawType)case6:{CClientDCdc(this);CPenpen(m_nLineStyle,m_nLineWidth,m_clr);CPen*pOldpen=dc.SelectObject(&pen);if(m_bDraw==true){dc.MoveTo(m_ptOrigin);m_dcMetaFile.MoveTo(m_ptOrigin);dc.LineTo(point);m_dcMetaFile.LineTo(point);m_ptOrigin=point;}dc.SelectObject(pOldpen);m_dcMetaFile.SelectObject(pOldpen);CView::OnMouseMove(nFlags,point);}}voidCGraphicView::OnSetting(){//TODO:AddyourcommandhandlercodehereCSettingDlgdlg;dlg.m_nLineWidth=m_nLineWidth;dlg.m_nLineStyle=m_nLineStyle;if(IDOK==dlg.DoModal()){m_nLineWidth=dlg.m_nLineWidth;m_nLineStyle=dlg.m_nLineStyle;}}voidCGraphicView::OnColor(){//TODO:AddyourcommandhandlercodehereCColorDialogdlg;dlg.m_cc.Flags|=CC_RGBINIT|CC_FULLOPEN;dlg.m_cc.rgbResult=m_clr;if(IDOK==dlg.DoModal()){m_clr=dlg.m_cc.rgbResult;}}voidCGraphicView::OnFileOpen(){//TODO:AddyourcommandhandlercodehereHMETAFILEhmetaFile;hmetaFile=GetMetaFile("meta.wmf");m_dcMetaFile.PlayMetaFile(hmetaFile);DeleteMetaFile(hmetaFile);Invalidate();}voidCGraphicView::OnFileSave(){//TODO:AddyourcommandhandlercodehereHMETAFILEhmetaFile;hmetaFile=m_dcMetaFile.Close();CopyMetaFile(hmetaFile,"meta.wmf");m_dcMetaFile.Create();DeleteMetaFile(hmetaFile);}voidCGraphicView::OnInitialUpdate(){CView::OnInitialUpdate();//TODO:Addyourspecializedcodehereand/orcallthebaseclassSetScrollSizes(MM_TEXT,CSize(800,600));}致谢在此学年设计过程中,笔者深切感谢指导学生张书源老师,在他细心地指导下我们成功完成学年设计。在此设计过程中笔者也很谢谢该设计小组其他同事的支持与帮组。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-120024-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...