274 lines
6.3 KiB
C++
274 lines
6.3 KiB
C++
// opcreatesptinfoview.cpp : implementation file
|
||
//
|
||
|
||
#include "stdafx.h"
|
||
#include "geomative.h"
|
||
#include "opcreatesptinfoview.h"
|
||
|
||
#ifdef _DEBUG
|
||
#define new DEBUG_NEW
|
||
#undef THIS_FILE
|
||
static char THIS_FILE[] = __FILE__;
|
||
#endif
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// COpCreateSptInfoView
|
||
|
||
IMPLEMENT_DYNCREATE(COpCreateSptInfoView, CView)
|
||
|
||
COpCreateSptInfoView::COpCreateSptInfoView()
|
||
{
|
||
m_bIsDraw = FALSE;
|
||
m_pCurSptRecord = NULL;
|
||
}
|
||
|
||
COpCreateSptInfoView::~COpCreateSptInfoView()
|
||
{
|
||
}
|
||
|
||
|
||
BEGIN_MESSAGE_MAP(COpCreateSptInfoView, CView)
|
||
//{{AFX_MSG_MAP(COpCreateSptInfoView)
|
||
ON_WM_ERASEBKGND()
|
||
//}}AFX_MSG_MAP
|
||
END_MESSAGE_MAP()
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// COpCreateSptInfoView drawing
|
||
|
||
void COpCreateSptInfoView::OnDraw(CDC* pDC)
|
||
{
|
||
|
||
CDocument* pDoc = GetDocument();
|
||
// TODO: add draw code here
|
||
|
||
CString szLabel = _T("");
|
||
CString szValue = _T("");
|
||
|
||
int iRecIndex = (int)VAL_ZERO;
|
||
int iRecCount = (int)VAL_ZERO;
|
||
|
||
CDC* pMemDC = new CDC;
|
||
CBitmap* pMemBmp = new CBitmap;
|
||
CBitmap* pOldMemBmp = NULL;
|
||
|
||
CRect rectMemBmp;
|
||
CRect rectView;
|
||
|
||
int iMaxViewWidth = (int)VAL_ZERO;
|
||
int iMaxViewHeight = (int)VAL_ZERO;
|
||
|
||
CFont ftInfo;
|
||
CFont* pOldFtInfo = NULL;
|
||
|
||
this->GetClientRect(&rectView);
|
||
|
||
if ((NULL != m_pNewChannel) && (TRUE == m_bIsDraw))
|
||
{
|
||
iRecCount = m_pNewChannel->m_sptRecArray.GetSize();
|
||
if (iRecCount > 0)
|
||
{
|
||
rectMemBmp.left = (long)VAL_ZERO;
|
||
rectMemBmp.top = (long)VAL_ZERO;
|
||
|
||
rectMemBmp.right = rectView.right;
|
||
rectMemBmp.bottom = rectView.bottom;
|
||
|
||
iMaxViewWidth = rectMemBmp.right-rectMemBmp.left;
|
||
iMaxViewHeight = rectMemBmp.bottom-rectMemBmp.top;
|
||
|
||
pMemDC->CreateCompatibleDC(pDC);
|
||
pMemBmp->CreateCompatibleBitmap(pDC, iMaxViewWidth, iMaxViewHeight);
|
||
pOldMemBmp = pMemDC->SelectObject(pMemBmp);
|
||
|
||
pMemDC->FillSolidRect(rectView, RGB(255,255,255));
|
||
|
||
pMemDC->SetBkMode(TRANSPARENT);
|
||
|
||
pMemDC->Rectangle(10, 10, 300, 230);
|
||
|
||
ftInfo.CreatePointFont(95, _T("Tahoma"));
|
||
pOldFtInfo = pMemDC->SelectObject(&ftInfo);
|
||
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_TPAMOUNT);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%d"), this->m_pNewChannel->m_iPtAmount);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 20, szLabel);
|
||
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_MAXLEVEL);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%d"), this->m_pNewChannel->m_iMaxLevel);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 40, szLabel);
|
||
|
||
pMemDC->MoveTo(10, 60);
|
||
pMemDC->LineTo(300, 60);
|
||
|
||
if (NULL != this->m_pCurSptRecord)
|
||
{
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_DB_SCRIPT_C1);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%d"), m_pCurSptRecord->m_iC1);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 80, szLabel);
|
||
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_DB_SCRIPT_C2);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%d"), m_pCurSptRecord->m_iC2);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 100, szLabel);
|
||
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_DB_SCRIPT_P1);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%d"), m_pCurSptRecord->m_iP1);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 120, szLabel);
|
||
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_DB_SCRIPT_P2);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%d"), m_pCurSptRecord->m_iP2);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 140, szLabel);
|
||
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_DB_SCRIPT_K);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%f"), m_pCurSptRecord->m_fK);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 160, szLabel);
|
||
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_DB_SCRIPT_N);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%d"), m_pCurSptRecord->m_iN);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 180, szLabel);
|
||
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_DB_SCRIPT_LEVEL);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%d"), m_pCurSptRecord->m_iLevel);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 200, szLabel);
|
||
}
|
||
else
|
||
{
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_DB_SCRIPT_C1);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%d"), (int)VAL_ZERO);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 80, szLabel);
|
||
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_DB_SCRIPT_C2);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%d"), (int)VAL_ZERO);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 100, szLabel);
|
||
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_DB_SCRIPT_P1);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%d"), (int)VAL_ZERO);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 120, szLabel);
|
||
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_DB_SCRIPT_P2);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%d"), (int)VAL_ZERO);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 140, szLabel);
|
||
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_DB_SCRIPT_K);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%f"), (float)VAL_ZERO);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 160, szLabel);
|
||
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_DB_SCRIPT_N);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%d"), (int)VAL_ZERO);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 180, szLabel);
|
||
|
||
szLabel.Empty();
|
||
szLabel.LoadString(IDS_DB_SCRIPT_LEVEL);
|
||
|
||
szValue.Empty();
|
||
szValue.Format(_T(":%d"), (int)VAL_ZERO);
|
||
szLabel += szValue;
|
||
pMemDC->TextOut(100, 200, szLabel);
|
||
|
||
}
|
||
|
||
pDC->BitBlt((int)VAL_ZERO, (int)VAL_ZERO, iMaxViewWidth, iMaxViewHeight, pMemDC, (int)VAL_ZERO, (int)VAL_ZERO, SRCCOPY);
|
||
|
||
ftInfo.DeleteObject();
|
||
pMemDC->SelectObject(pOldFtInfo);
|
||
|
||
pMemDC->SelectObject(pOldMemBmp);
|
||
pMemBmp->DeleteObject();
|
||
pMemDC->DeleteDC();
|
||
|
||
delete pMemBmp;
|
||
delete pMemDC;
|
||
|
||
}
|
||
}
|
||
else
|
||
{
|
||
pDC->FillSolidRect((int)VAL_ZERO, (int)VAL_ZERO, rectView.Width(), rectView.Height(), RGB(255,255,255));
|
||
}
|
||
}
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// COpCreateSptInfoView diagnostics
|
||
|
||
#ifdef _DEBUG
|
||
void COpCreateSptInfoView::AssertValid() const
|
||
{
|
||
CView::AssertValid();
|
||
}
|
||
|
||
void COpCreateSptInfoView::Dump(CDumpContext& dc) const
|
||
{
|
||
CView::Dump(dc);
|
||
}
|
||
#endif //_DEBUG
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// COpCreateSptInfoView message handlers
|
||
|
||
BOOL COpCreateSptInfoView::OnEraseBkgnd(CDC* pDC)
|
||
{
|
||
// TODO: Add your message handler code here and/or call default
|
||
return TRUE;
|
||
// return CView::OnEraseBkgnd(pDC);
|
||
}
|