⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cppmdi2dview.cpp

📁 本代码为使用vc平台开发stk软件x插件的一个范例。
💻 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 + -