📄 satcoordview.cpp
字号:
// SatCoordView.cpp : implementation of the CSatCoordView class
//
#include "stdafx.h"
#include "SatCoord.h"
#include "SatCoordDoc.h"
#include "SatCoordView.h"
#include "bj54gauss.h"
#include "xi80guass.h"
#include "gaussbj54.h"
#include "wgsgauss.h"
#include "seventrans.h"
#include "wgs84pz90.h"
#include "ninetrans.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSatCoordView
IMPLEMENT_DYNCREATE(CSatCoordView, CScrollView)
BEGIN_MESSAGE_MAP(CSatCoordView, CScrollView)
//{{AFX_MSG_MAP(CSatCoordView)
ON_COMMAND(ID_TRANS_BJ54_GUASS, OnTransBj54Guass)
ON_COMMAND(ID_TRANS_XI80_GUASS, OnTransXi80Guass)
ON_COMMAND(ID_trans_q, Ontransq)
ON_COMMAND(ID_TRANS_GUASS_BJ54, OnTransGuassBj54)
ON_COMMAND(ID_GPSCOORD, OnGpscoord)
ON_COMMAND(ID_VIEW_WGSTOBJ, OnViewWgstobj)
ON_COMMAND(ID_VIEW_SP3DATA, OnViewSp3data)
ON_COMMAND(ID_WGS_GAUSS, OnWgsGauss)
ON_COMMAND(ID_BACK, OnBack)
ON_COMMAND(ID_Seven_Trans, OnSevenTrans)
ON_COMMAND(ID_WGS_PZ90, OnWgsPz90)
ON_COMMAND(ID_nine_trans, Onninetrans)
//}}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)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSatCoordView construction/destruction
extern CString m ;
CSatCoordView::CSatCoordView()
{
// TODO: add construction code here
m_Flags = FALSE;
BITMAP BM;
bitmap.LoadBitmap(IDB_BITMAP2);
bitmap.GetObject(sizeof(BM),&BM);
bitmapWidth=BM.bmWidth;
bitmapHeight=BM.bmHeight;
}
CSatCoordView::~CSatCoordView()
{
}
BOOL CSatCoordView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CScrollView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CSatCoordView drawing
void CSatCoordView::OnDraw(CDC* pDC)
{
CSatCoordDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
char* sx;
char* sy;
char* sz;
char* num;
char* bias;
CDC dcMemory;
CRect rect;
if(!m_Flags)
{
GetClientRect(&rect);
dcMemory.CreateCompatibleDC(NULL);
dcMemory.SelectObject(&bitmap);
//bitmap.CreateCompatibleBitmap(&dcMemory,rect.right,rect.bottom);
pDC->StretchBlt(0,0,rect.right,rect.bottom,&dcMemory,
0,0,bitmapWidth,bitmapHeight,SRCCOPY);
}
if(m_Flags)
{
sx = new char[pDoc->Count];
sy = new char[pDoc->Count];
sz = new char[pDoc->Count];
num= new char[pDoc->Count];
// gcvt(pDoc->svposx[i], 16, sx);
pDC->TextOut(0,0,"序号");
pDC->TextOut(90,0,"X");
pDC->TextOut(290,0,"Y");
pDC->TextOut(490,0,"Z");
for(int i = 0; i < pDoc->Count; i ++)
{
gcvt(i+1, 2, num);
gcvt(pDoc->svposx[i], 16, sx);
gcvt(pDoc->svposy[i], 16, sy);
gcvt(pDoc->svposz[i], 16, sz);
pDC->TextOut(5,20*(i+1),num);
pDC->TextOut(35,20*(i+1),sx);
pDC->TextOut(235,20*(i+1),sy);
pDC->TextOut(435,20*(i+1),sz);
}
}
if(op==1)
{
sx = new char[pDoc->Count * 28];
sy = new char[pDoc->Count * 28];
sz = new char[pDoc->Count * 28];
bias=new char[pDoc->Count * 28];
num= new char[pDoc->Count * 28];
pSPT=new CHARTIME[pDoc->Count];
// gcvt(pDoc->svposx[i], 16, sx);
pDC->TextOut(0,0,"序号");
pDC->TextOut(90,0,"X");
pDC->TextOut(290,0,"Y");
pDC->TextOut(490,0,"Z");
pDC->TextOut(690,0,"clockbias");
for(int i = 0; i < pDoc->Count; i ++)
{
/* gcvt(pDoc->pSP3TIME[i].year, 2, pSPT[i].year);
gcvt(pDoc->pSP3TIME[i].month, 4, pSPT[i].month);
gcvt(pDoc->pSP3TIME[i].day, 4, pSPT[i].day);
gcvt(pDoc->pSP3TIME[i].hour, 4, pSPT[i].hour);
gcvt(pDoc->pSP3TIME[i].minute, 4, pSPT[i].minute);
gcvt(pDoc->pSP3TIME[i].second, 8, pSPT[i].second);
pDC->TextOut(5,20*(i*28+1),pSPT[i].year);
pDC->TextOut(15,20*(i*28+1),pSPT[i].month);
pDC->TextOut(25,20*(i*28+1),pSPT[i].day);
pDC->TextOut(35,20*(i*28+1),pSPT[i].hour);
pDC->TextOut(45,20*(i*28+1),pSPT[i].minute);
pDC->TextOut(55,20*(i*28+1),pSPT[i].second);
*/ for(int j = 0;j < 28; j ++)
{
gcvt(pDoc->xuhao[i*28+j], 2, num);
gcvt(pDoc->svposx[i*28+j], 15, sx);
gcvt(pDoc->svposy[i*28+j], 15, sy);
gcvt(pDoc->svposz[i*28+j], 15, sz);
gcvt(pDoc->clockbias[i*28+j], 15, bias);
pDC->TextOut(5,20*(i*30+j+2),num);
pDC->TextOut(35,20*(i*30+j+2),sx);
pDC->TextOut(235,20*(i*30+j+2),sy);
pDC->TextOut(435,20*(i*30+j+2),sz);
pDC->TextOut(635,20*(i*30+j+2),bias);
}
}
}
// for(int i = 0; i < )
// pDoc->svpos[i]
// TODO: add draw code for native data here
}
/////////////////////////////////////////////////////////////////////////////
// CSatCoordView printing
BOOL CSatCoordView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CSatCoordView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CSatCoordView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
// CSatCoordView diagnostics
#ifdef _DEBUG
void CSatCoordView::AssertValid() const
{
CScrollView::AssertValid();
}
void CSatCoordView::Dump(CDumpContext& dc) const
{
CScrollView::Dump(dc);
}
CSatCoordDoc* CSatCoordView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CSatCoordDoc)));
return (CSatCoordDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CSatCoordView message handlers
void CSatCoordView::OnTransBj54Guass()
{
// TODO: Add your command handler code here
CBj54Gauss dlg;
dlg.DoModal();
}
void CSatCoordView::OnTransXi80Guass()
{
// TODO: Add your command handler code here
CXi80Guass dlg;
dlg.DoModal();
}
void CSatCoordView::Ontransq()
{
// TODO: Add your command handler code here
CXi80Guass dlg;
dlg.DoModal();
}
void CSatCoordView::OnTransGuassBj54()
{
// TODO: Add your command handler code here
CGaussBj54 dlg;
dlg.DoModal();
}
void CSatCoordView::OnGpscoord()
{
m_Flags = TRUE;
Invalidate();
}
void CSatCoordView::OnViewWgstobj()
{
m_Flags = TRUE;
Invalidate();
}
void CSatCoordView::OnViewSp3data()
{
// TODO: Add your command handler code here
m_Flags = TRUE;
//op = 1;
Invalidate();
}
void CSatCoordView::OnWgsGauss()
{
// TODO: Add your command handler code here
CWgsGauss dlg;
dlg.DoModal();
}
void CSatCoordView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
CSize sizeTotal(2000,1648);
CSize sizePage(sizeTotal.cx/50, sizeTotal.cy/72);
CSize sizeLine(sizeTotal.cx/50, sizeTotal.cy/72);
SetScrollSizes(MM_TEXT, sizeTotal, sizePage, sizeLine);
}
void CSatCoordView::OnBack()
{
// TODO: Add your command handler code here
m_Flags = FALSE;
Invalidate();
}
void CSatCoordView::OnSevenTrans()
{
// TODO: Add your command handler code here
CSevenTrans dlg;
dlg.DoModal();
}
void CSatCoordView::OnWgsPz90()
{
// TODO: Add your command handler code here
CWgs84Pz90 dlg;
dlg.DoModal();
}
void CSatCoordView::Onninetrans()
{
// TODO: Add your command handler code here
CNineTrans dlg;
dlg.DoModal();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -