📄 cppmdi2dview.cpp
字号:
/******************************************************************************/
/***** Copyright 2004-2004, Analytical Graphics, Incorporated. *****/
/******************************************************************************/
// CPPMDI2DView.cpp : implementation file
//
#include "stdafx.h"
#include "CPPMDI.h"
#include "CPPMDI2DView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CCPPMDIApp theApp;
#define IDC_AX2D 1002
/////////////////////////////////////////////////////////////////////////////
// CCPPMDI2DView
IMPLEMENT_DYNCREATE(CCPPMDI2DView, CView)
CCPPMDI2DView::CCPPMDI2DView()
{
}
CCPPMDI2DView::~CCPPMDI2DView()
{
}
BEGIN_MESSAGE_MAP(CCPPMDI2DView, CView)
//{{AFX_MSG_MAP(CCPPMDI2DView)
ON_WM_SIZE()
ON_WM_CREATE()
ON_COMMAND(ID_ZOOM_IN, OnZoomIn)
ON_COMMAND(ID_ZOOM_OUT, OnZoomOut)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCPPMDI2DView drawing
void CCPPMDI2DView::OnDraw(CDC* pDC)
{
CDocument* pDoc = GetDocument();
// TODO: add draw code here
}
/////////////////////////////////////////////////////////////////////////////
// CCPPMDI2DView diagnostics
#ifdef _DEBUG
void CCPPMDI2DView::AssertValid() const
{
CView::AssertValid();
}
void CCPPMDI2DView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CCPPMDI2DView message handlers
int CCPPMDI2DView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
RECT rectClient = { 0, 0, 50, 50 }; // 2D Control will get resized in CCPPMDI2DView::OnSize()
if (!m_Ax2D.Create(NULL, WS_VISIBLE, rectClient, this, IDC_AX2D))
{
DestroyWindow();
return -1;
}
return 0;
}
void CCPPMDI2DView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
RECT rectClient;
GetClientRect(&rectClient);
m_Ax2D.MoveWindow(&rectClient); // Make 2D Control take up entire view
}
/////////////////////////////////////////////////////////////////////////////
// m_Ax2D message handlers
BEGIN_EVENTSINK_MAP(CCPPMDI2DView, CView)
//{{AFX_EVENTSINK_MAP(CCPPMDI2DView)
ON_EVENT(CCPPMDI2DView, IDC_AX2D, -600 /* Click */, OnAx2DClick, VTS_NONE)
ON_EVENT(CCPPMDI2DView, IDC_AX2D, -606 /* MouseMove */, OnAx2DMouseMove, VTS_I2 VTS_I2 VTS_I4 VTS_I4)
ON_EVENT(CCPPMDI2DView, IDC_AX2D, -602 /* KeyDown */, OnAx2DKeyDown, VTS_PI2 VTS_I2)
ON_EVENT(CCPPMDI2DView, IDC_AX2D, -603 /* KeyPress */, OnAx2DKeyPress, VTS_PI2)
ON_EVENT(CCPPMDI2DView, IDC_AX2D, -604 /* KeyUp */, OnAx2DKeyUp, VTS_PI2 VTS_I2)
ON_EVENT(CCPPMDI2DView, IDC_AX2D, -601 /* DblClick */, OnAx2DDblClick, VTS_NONE)
ON_EVENT(CCPPMDI2DView, IDC_AX2D, -605 /* MouseDown */, OnAx2DMouseDown, VTS_I2 VTS_I2 VTS_I4 VTS_I4)
ON_EVENT(CCPPMDI2DView, IDC_AX2D, -607 /* MouseUp */, OnAx2DMouseUp, VTS_I2 VTS_I2 VTS_I4 VTS_I4)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CCPPMDI2DView::OnAx2DClick()
{
}
void CCPPMDI2DView::OnAx2DMouseMove(short Button, short Shift, long x, long y)
{
}
void CCPPMDI2DView::OnAx2DKeyDown(short FAR* KeyCode, short Shift)
{
}
void CCPPMDI2DView::OnAx2DKeyPress(short FAR* KeyAscii)
{
}
void CCPPMDI2DView::OnAx2DKeyUp(short FAR* KeyCode, short Shift)
{
}
// When a user double clicks, update the message viewer window with
// the selected object, latitude, etc. The mouse coords are set
// right before this is called in OnAx2DMouseDown()
void CCPPMDI2DView::OnAx2DDblClick()
{
theApp.m_MsgViewDlg.AddMessage(m_Ax2D.PickInfo(m_x, m_y));
}
void CCPPMDI2DView::OnAx2DMouseDown(short Button, short Shift, long x, long y)
{
m_x = x;
m_y = y;
}
void CCPPMDI2DView::OnAx2DMouseUp(short Button, short Shift, long x, long y)
{
}
void CCPPMDI2DView::OnZoomIn() { m_Ax2D.ZoomIn(); }
void CCPPMDI2DView::OnZoomOut() { m_Ax2D.ZoomOut(); }
/******************************************************************************/
/***** Copyright 2004-2004, Analytical Graphics, Incorporated. *****/
/******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -