仿真模型View.cpp
上传用户:vipking888
上传日期:2015-02-03
资源大小:93k
文件大小:4k
- // 仿真模型View.cpp : implementation of the CMyView class
- //
- #include "stdafx.h"
- #include "仿真模型.h"
- #include "仿真模型Doc.h"
- #include "仿真模型View.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CMyView
- IMPLEMENT_DYNCREATE(CMyView, CView)
- BEGIN_MESSAGE_MAP(CMyView, CView)
- //{{AFX_MSG_MAP(CMyView)
- ON_COMMAND(ID_FANGZHEN, OnFangzhen)
- //}}AFX_MSG_MAP
- // Standard printing commands
- ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
- ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
- ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CMyView construction/destruction
- CMyView::CMyView()
- {
- // TODO: add construction code here
- }
- CMyView::~CMyView()
- {
- }
- BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs)
- {
- // TODO: Modify the Window class or styles here by modifying
- // the CREATESTRUCT cs
- return CView::PreCreateWindow(cs);
- }
- /////////////////////////////////////////////////////////////////////////////
- // CMyView drawing
- void CMyView::OnDraw(CDC* pDC)
- {
- CMyDoc* pDoc = GetDocument();
- ASSERT_VALID(pDoc);
- // TODO: add draw code for native data here
- }
- /////////////////////////////////////////////////////////////////////////////
- // CMyView printing
- BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo)
- {
- // default preparation
- return DoPreparePrinting(pInfo);
- }
- void CMyView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
- {
- // TODO: add extra initialization before printing
- }
- void CMyView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
- {
- // TODO: add cleanup after printing
- }
- /////////////////////////////////////////////////////////////////////////////
- // CMyView diagnostics
- #ifdef _DEBUG
- void CMyView::AssertValid() const
- {
- CView::AssertValid();
- }
- void CMyView::Dump(CDumpContext& dc) const
- {
- CView::Dump(dc);
- }
- CMyDoc* CMyView::GetDocument() // non-debug version is inline
- {
- ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));
- return (CMyDoc*)m_pDocument;
- }
- #endif //_DEBUG
- /////////////////////////////////////////////////////////////////////////////
- // CMyView message handlers
- void CMyView::OnFangzhen()
- {
- // TODO: Add your command handler code here
-
- CStdioFile file;
- if(!file.Open("output1.txt",CFile::modeRead))
- MessageBox("no file is opened");
- CClientDC dc(this);
- dc.SetViewportOrg(150,50);
- CString str,str1;
- LPTSTR p;
- int m,n,m1,n1,i=0;
- float d1,d2,d3,d4;
- CBrush *oldbr;
- //CBrush br1(RGB(0,125,255));
- //CBrush br2(RGB(255,0,255));
- //CBrush br3(RGB(255,255,0));
- CBrush br1(RGB(0,0,0));
- CBrush br2(RGB(255,255,255));
- CBrush br3(RGB(255,255,0));
- while(file.ReadString(str))
- {
- if(i<=10&&i>0)
- {
- m=str.Find(' ',0);
- n=str.Find(' ',m+1);
- str1=str.Mid(0,m);
- p=str1.GetBuffer(10);
- d1=atof(p)*4;
- str1=str.Mid(m+1,n-m-1);
- p=str1.GetBuffer(10);
- d2=atof(p)*4;
-
- oldbr=dc.SelectObject(&br1);
- dc.Ellipse(d1-3.5,d2-3.5,d1+3.5,d2+3.5); //卯接点
- }
- else if(i>10)
- {
- m=str.Find(' ',0);
- n=str.Find(' ',m+1);
- m1=str.Find(' ',n+1);
- n1=str.Find(' ',m1+1);
- str1=str.Mid(0,m);
- p=str1.GetBuffer(10);
- d1=atof(p)*4;
- str1=str.Mid(m+1,n-m-1);
- p=str1.GetBuffer(10);
- d2=atof(p)*4;
- str1=str.Mid(n+1,m1-n-1);
- p=str1.GetBuffer(10);
- d3=atof(p)*4;
- str1=str.Mid(m1+1,n1-m1-1);
- p=str1.GetBuffer(10);
- d4=atof(p)*4;
- oldbr=dc.SelectObject(&br2);
- dc.Ellipse(d1-3.5,d2-3.5,d1+3.5,d2+3.5);//实际接点
- /*
- dc.MoveTo(d1-5,d2);
- dc.LineTo(d1+5,d2);
- dc.MoveTo(d1,d2+5);
- dc.LineTo(d1,d2-5);
- */
- oldbr=dc.SelectObject(&br3);
- //dc.Ellipse(d3-5,d4-5,d3+5,d4+5); //计算接点
- /*
- dc.MoveTo(d3,d4+3);
- dc.LineTo(d3-3,d4-3);
- dc.LineTo(d3+3,d4-3);
- dc.LineTo(d3,d4+3);
- */
-
- dc.MoveTo(d3-3,d4);
- dc.LineTo(d3+4,d4);
- dc.MoveTo(d3,d4+3);
- dc.LineTo(d3,d4-4);
-
- // dc.MoveTo(d1,d2);
- // dc.LineTo(d3,d4);
- }
- i++;
- }
-
- }