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;
     
     }

    }

  • 相关阅读:
    matlab中关于使用length导致的不稳定状况。
    matlab 批量读入文件夹中的指定文件类型 (目录级数不限)
    matlab中的图像裁剪,图像抽取,反转,镜像。
    反锐化掩模 unsharp masking【转载】
    matlab 将图像切分为N*N像素的小块
    Python2.7.3 Tkinter Entry(文本框) 说明
    基于JQuery的列表拖动排序
    MAC如何删除开机自启动程序
    MAC配置SVN服务器
    关于MAC清倒废纸篓,项目正在使用
  • 原文地址:https://www.cnblogs.com/Dreamfly/p/434679.html
Copyright © 2011-2022 走看看