zoukankan      html  css  js  c++  java
  • VC++小小绘图程序

    // huatuView.cpp : ChuatuView 类的实现
    //

    #include "stdafx.h"
    #include "huatu.h"

    #include "huatuDoc.h"
    #include "huatuView.h"
    #include ".\huatuview.h"

    #ifdef _DEBUG
    #define new DEBUG_NEW
    #endif


    // ChuatuView

    IMPLEMENT_DYNCREATE(ChuatuView, CView)
    CPoint StartPt,EndPt;

    BEGIN_MESSAGE_MAP(ChuatuView, CView)
     // 标准打印命令
     ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
     ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
     ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
     ON_WM_LBUTTONDOWN()
     ON_WM_LBUTTONUP()
     ON_WM_MOUSEMOVE()
    END_MESSAGE_MAP()

    // ChuatuView 构造/析构

    ChuatuView::ChuatuView()
    {
     // TODO: 在此处添加构造代码

    }

    ChuatuView::~ChuatuView()
    {
    }

    BOOL ChuatuView::PreCreateWindow(CREATESTRUCT& cs)
    {
     // TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或
     // 样式

     return CView::PreCreateWindow(cs);
    }

    // ChuatuView 绘制

    void ChuatuView::OnDraw(CDC* /*pDC*/)
    {
     ChuatuDoc* pDoc = GetDocument();
     ASSERT_VALID(pDoc);
     if (!pDoc)
      return;

     // TODO: 在此处为本机数据添加绘制代码
    }


    // ChuatuView 打印

    BOOL ChuatuView::OnPreparePrinting(CPrintInfo* pInfo)
    {
     // 默认准备
     return DoPreparePrinting(pInfo);
    }

    void ChuatuView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
    {
     // TODO: 打印前添加额外的初始化
    }

    void ChuatuView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
    {
     // TODO: 打印后添加清除过程
    }


    // ChuatuView 诊断

    #ifdef _DEBUG
    void ChuatuView::AssertValid() const
    {
     CView::AssertValid();
    }

    void ChuatuView::Dump(CDumpContext& dc) const
    {
     CView::Dump(dc);
    }

    ChuatuDoc* ChuatuView::GetDocument() const // 非调试版本是内联的
    {
     ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(ChuatuDoc)));
     return (ChuatuDoc*)m_pDocument;
    }
    #endif //_DEBUG


    // ChuatuView 消息处理程序

    void ChuatuView::OnLButtonDown(UINT nFlags, CPoint point)
    {
     // TODO: 在此添加消息处理程序代码和/或调用默认值

     CView::OnLButtonDown(nFlags, point);
     StartPt.x=point.x;
     StartPt.y=point.y;
     
    }

    void ChuatuView::OnLButtonUp(UINT nFlags, CPoint point)
    {
     // TODO: 在此添加消息处理程序代码和/或调用默认值

     CView::OnLButtonUp(nFlags, point);
     StartPt.x=-1;

    }

    void ChuatuView::OnMouseMove(UINT nFlags, CPoint point)
    {
     // TODO: 在此添加消息处理程序代码和/或调用默认值

     CView::OnMouseMove(nFlags, point);
     CClientDC dc(this);
     EndPt.x=point.x;
     EndPt.y=point.y;
     if(StartPt.x>=0)
     {
      dc.MoveTo(StartPt.x,StartPt.y);
      dc.LineTo(EndPt);
      StartPt.x=EndPt.x;
      StartPt.y=EndPt.y;
     
     }

    }

  • 相关阅读:
    golang fmt用法举例
    golang init函数
    golang 定时器
    golang 如何判断变量的类型
    题目:IO多路复用版FTP
    Python模块——gevent 在协程学习中遇到的模块
    python入门三十二天——协程 异步IO数据库队列缓存
    java——第一天 变量,java的基础类型
    操作PPT模块 python-pptx
    python入门三十一天---多进程
  • 原文地址:https://www.cnblogs.com/Dreamfly/p/434679.html
Copyright © 2011-2022 走看看