📄 calgeodlg.cpp
字号:
// Calgeodlg.cpp : implementation file
//
#include "stdafx.h"
#include "CalSurBase.h"
#include "Calgeodlg.h"
#include "Survey.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCalgeodlg dialog
CCalgeodlg::CCalgeodlg(CWnd* pParent /*=NULL*/)
: CDialog(CCalgeodlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CCalgeodlg)
m_east = 0.0;
m_north = 0.0;
m_outeast = 0.0;
m_outnorth = 0.0;
m_geo = -1;
m_strip = -1;
m_zbx = -1;
//}}AFX_DATA_INIT
}
void CCalgeodlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCalgeodlg)
DDX_Text(pDX, IDC_EDIT_EAST, m_east);
DDX_Text(pDX, IDC_EDIT_NORTH, m_north);
DDX_Text(pDX, IDC_EDIT_OUTEAST, m_outeast);
DDX_Text(pDX, IDC_EDIT_OUTNORTH, m_outnorth);
DDX_Radio(pDX, IDC_RADIO_GEOA, m_geo);
DDX_Radio(pDX, IDC_RADIO_STRIPA, m_strip);
DDX_Radio(pDX, IDC_RADIO_ZBXA, m_zbx);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCalgeodlg, CDialog)
//{{AFX_MSG_MAP(CCalgeodlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCalgeodlg message handlers
BOOL CCalgeodlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_geo=0;
m_zbx=0;
m_strip=0;
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CCalgeodlg::OnOK()
{
CSurvey survey;
double meri=0,dh=0;
UpdateData(true);
survey.GetSysDat(m_zbx+1);
if(m_strip==0)
{ survey.dudai=3;}
else
{ survey.dudai=6;}
if(m_geo==0)
{ //已知坐标为大地坐标
survey.dsetx=m_north;
survey.dsety=m_east;
survey.GetFdh(); //计算中央子午线和代号
survey.dsety = survey.dsety-survey.fdh*1000000;
survey.XyToBl();
m_outeast=survey.dgetbl_l;
m_outnorth=survey.dgetbl_b;
}
else
{ //已知坐标为地理坐标
survey.dgetbl_b=m_north;
survey.dgetbl_l=m_east;
survey.BCalMeri(m_east,m_east,survey.dudai,&meri,&dh);//根据经度计算中央子午线
survey.dmeil_last = (int)meri;//转换后中央子午线
survey.fdh_last = (int)dh;//转换后的代号
survey.BlToXy();
m_outeast=survey.dgety+survey.fdh_last*1000000;
m_outnorth=survey.dgetx;
}
//CDialog::OnOK();
UpdateData(false);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -