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

📄 jhhbview.cpp

📁 串口调试助手的源代码
💻 CPP
字号:
// Written by JHCC, 1996-1997

// JHHBView.cpp : implementation of the CJHHBView class
//

#include "stdafx.h"
#include "JHHB.h"
#include "JHHBDoc.h"
#include "JHHBView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CJHHBView

/////////////////////////////////////////////////////////////////////////////
// CJHHBView construction/destruction
IMPLEMENT_DYNCREATE(CJHHBView, CScrollView)

CJHHBView::CJHHBView()
{
}

CJHHBView::~CJHHBView()
{
}


// --------
const UINT	IDC_SPYTAB = 500;
//const UINT	ID_DATALIST = 501;
const UINT	IDC_MONITWND = 502;

BEGIN_MESSAGE_MAP(CJHHBView, CScrollView)
	//{{AFX_MSG_MAP(CJHHBView)
	ON_WM_CREATE()
	ON_WM_SIZE()
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)

	ON_NOTIFY(TCN_SELCHANGE, IDC_SPYTAB, OnStationSelChange)

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CJHHBView drawing

void CJHHBView::OnDraw(CDC* pDC)
{
	CJHHBDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	CRect	rtBounds;
	GetClientRect(&rtBounds);
	pDC->FillSolidRect(&rtBounds, ::GetSysColor(COLOR_BTNFACE));
}

void CJHHBView::OnInitialUpdate()
{
	CScrollView::OnInitialUpdate();

	CSize sizeTotal;
	sizeTotal.cx = 10;
	sizeTotal.cy = 10;
	SetScrollSizes(MM_TEXT, sizeTotal);

	LRESULT	lTemp;
	OnStationSelChange(NULL, &lTemp);
}

/////////////////////////////////////////////////////////////////////////////
// CJHHBView printing

BOOL CJHHBView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CJHHBView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CJHHBView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CJHHBView diagnostics

#ifdef _DEBUG
void CJHHBView::AssertValid() const
{
	CScrollView::AssertValid();
}

void CJHHBView::Dump(CDumpContext& dc) const
{
	CScrollView::Dump(dc);
}

CJHHBDoc* CJHHBView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CJHHBDoc)));
	return (CJHHBDoc*)m_pDocument;
}
#endif //_DEBUG


void	CJHHBView::OnStationSelChange(NMHDR*  pNMHDR, LRESULT*  pResult)
{
	/*
	if (GetDocument()->m_bUseDao)
	{
		GetDocument()->m_pDaoHBRecSet->GenParam(GetDocument()->m_curSpyTime, m_Spy.GetCurSelNO(GetDocument()->m_ctrlInfoArray) + 1);
		GetDocument()->m_pDaoHBRecSet->Requery();
	}
	else
	{
		GetDocument()->m_pHBRecSet->GenParam(GetDocument()->m_curSpyTime, m_Spy.GetCurSelNO(GetDocument()->m_ctrlInfoArray) + 1);
		GetDocument()->m_pHBRecSet->Requery();
	}
*/
	GetDocument()->m_nCurStation = m_Spy.GetCurSel();
//	m_MonitWnd.RedrawWindow();
//	m_DataList.AddAllRecord();
	GetDocument()->RefreshData(GetDocument()->m_curSpyTime);
	m_MonitWnd.RedrawWindow();
//	GetDocument()->UpdateAllViews(this);

	*pResult = 0;
}

int CJHHBView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CScrollView::OnCreate(lpCreateStruct) == -1)
		return -1;

	m_MonitWnd.Create(this, IDC_MONITWND);
	m_Spy.Create(this, IDC_SPYTAB);

	m_Spy.UpdateTab(GetDocument()->m_ctrlInfoArray);
	return  0;
/*
	// Create the CListCtrl window.
	m_DataList.Create(
		CRect(0, 0, 0, 0),
		this,	// parent
		ID_DATALIST);	// ID

	m_DataList.Set(GetDocument()->m_bUseDao,
		GetDocument()->m_pDaoStationInfoSet,
		GetDocument()->m_pStationInfoSet,
		GetDocument()->m_pDaoHBDateDataSet,
		GetDocument()->m_pHBDateDataSet);

	m_DataList.SetTextColor(RGB(0, 0, 0xFF));
*/

}

void CJHHBView::OnSize(UINT nType, int cx, int cy)
{
	CScrollView::OnSize(nType, cx, cy);

	CRect	rtBounds(0, 0, cx, cy);
	// avoid first call onsize, the InitialUpdate not call
/*	if (m_DataList.GetSafeHwnd())
	{
		CDC*	pDC = m_DataList.GetDC();
		TEXTMETRIC	tm;
		pDC->GetTextMetrics(&tm);
		int	nFontHeight = tm.tmHeight + tm.tmExternalLeading;
		m_DataList.ReleaseDC(pDC);
*/
	const int	nFontHeight = 16;
		m_Spy.SetWindowPos(NULL, 
			rtBounds.left, rtBounds.top, rtBounds.Width(), nFontHeight + 5,
			SWP_NOZORDER | SWP_SHOWWINDOW | SWP_NOACTIVATE);

		rtBounds.top += nFontHeight + 5;
		m_MonitWnd.SetWindowPos(NULL,
			rtBounds.left,
			rtBounds.top,
			rtBounds.Width(),
			rtBounds.Height(),// / 2 - nFontHeight - 5 - 10,
			SWP_NOZORDER | SWP_SHOWWINDOW | SWP_NOACTIVATE);

/*
		m_DataList.SetWindowPos(NULL, 
			rtBounds.left, 
			rtBounds.top + rtBounds.Height() / 2,
			rtBounds.Width() - 30, 
			rtBounds.Height() / 2 - 30,
			SWP_NOZORDER | SWP_SHOWWINDOW | SWP_NOACTIVATE);*/
//	}	
}

/*
void	CJHHBView::RefreshDataWnd(COleDateTime&  time)
{
	if (GetDocument()->m_bUseDao)	// DAO
	{
		GetDocument()->m_pDaoHBDateDataSet->GenParam(time);
		GetDocument()->m_pDaoHBDateDataSet->Requery();

		GetDocument()->m_pDaoHBRecSet->GenParam(time, m_Spy.GetCurSelNO(GetDocument()->m_ctrlInfoArray) + 1);
		GetDocument()->m_pDaoHBRecSet->Requery();
	}
	else
	{
		GetDocument()->m_pHBDateDataSet->GenParam(time);
		GetDocument()->m_pHBDateDataSet->Requery();

		GetDocument()->m_pHBRecSet->GenParam(time, m_Spy.GetCurSelNO(GetDocument()->m_ctrlInfoArray) + 1);
		GetDocument()->m_pHBRecSet->Requery();
	}

	m_MonitWnd.RedrawWindow();
//	m_DataList.AddAllRecord();
}
*/

void CJHHBView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) 
{
	m_MonitWnd.RedrawWindow();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -