📄 convert.cpp
字号:
// Convert.cpp : implementation file
//
#include "stdafx.h"
#include "坐标转换.h"
#include "Convert.h"
#include "Converting.h"
#include "zbxtsz.h"
#include "gybl.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CConvert dialog
CConvert::CConvert(CWnd* pParent /*=NULL*/)
: CDialog(CConvert::IDD, pParent)
{
//{{AFX_DATA_INIT(CConvert)
m_s21 = -1;
m_s22 = -1;
m_s23 = -1;
m_s24 = -1;
m_s25 = -1;
m_s26 = -1;
m_s27 = -1;
m_New_Zyzwx = 0.0;
m_Zyzwx = 0.0;
//}}AFX_DATA_INIT
}
void CConvert::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CConvert)
DDX_Control(pDX, IDC_NEW_Zyzwx, m_C_New_Zyzwx);
DDX_Control(pDX, IDC_Zyzwx, m_C_Zyzwx);
DDX_Control(pDX, IDC_ZBXT, m_Zbxt);
DDX_Control(pDX, IDC_New_ZBXT, m_New_Zbxt);
DDX_Control(pDX, IDC_Txfs1, m_Txfs1);
DDX_Control(pDX, IDC_a21, m_c21);
DDX_Control(pDX, IDC_a22, m_c22);
DDX_Control(pDX, IDC_a23, m_c23);
DDX_Control(pDX, IDC_a24, m_c24);
DDX_Control(pDX, IDC_a25, m_c25);
DDX_Control(pDX, IDC_a26, m_c26);
DDX_Control(pDX, IDC_a27, m_c27);
DDX_Radio(pDX, IDC_a21, m_s21);
DDX_Radio(pDX, IDC_a22, m_s22);
DDX_Radio(pDX, IDC_a23, m_s23);
DDX_Radio(pDX, IDC_a24, m_s24);
DDX_Radio(pDX, IDC_a25, m_s25);
DDX_Radio(pDX, IDC_a26, m_s26);
DDX_Radio(pDX, IDC_a27, m_s27);
DDX_Text(pDX, IDC_NEW_Zyzwx, m_New_Zyzwx);
DDX_Text(pDX, IDC_Zyzwx, m_Zyzwx);
DDX_Control(pDX, IDC_Grid1, m_Grid1);
DDX_Control(pDX, IDC_Grid2, m_Grid2);
DDX_Control(pDX, IDC_Grid3, m_Grid3);
DDX_Control(pDX, IDC_Grid4, m_Grid4);
DDX_Control(pDX, IDC_Grid5, m_Grid5);
DDX_Control(pDX, IDC_Grid6, m_Grid6);
DDX_Control(pDX, IDC_Grid7, m_Grid7);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CConvert, CDialog)
//{{AFX_MSG_MAP(CConvert)
ON_BN_CLICKED(IDC_Dyzbxt, OnDyzbxt)
ON_BN_CLICKED(IDC_Txfs1, OnTxfs1)
ON_BN_CLICKED(IDC_Txfs2, OnTxfs2)
ON_BN_CLICKED(IDC_Txfs3, OnTxfs3)
ON_BN_CLICKED(IDC_Txfs4, OnTxfs4)
ON_BN_CLICKED(IDC_a21, Ona21)
ON_BN_CLICKED(IDC_a22, Ona22)
ON_BN_CLICKED(IDC_a23, Ona23)
ON_BN_CLICKED(IDC_a24, Ona24)
ON_BN_CLICKED(IDC_a25, Ona25)
ON_BN_CLICKED(IDC_a26, Ona26)
ON_BN_CLICKED(IDC_a27, Ona27)
ON_CBN_SELCHANGE(IDC_New_ZBXT, OnSelchangeNewZBXT)
ON_CBN_SELCHANGE(IDC_ZBXT, OnSelchangeZbxt)
ON_BN_CLICKED(ID_Insert, OnInsert)
ON_BN_CLICKED(ID_Delete, OnDelete)
ON_BN_CLICKED(ID_change, Onchange)
ON_BN_CLICKED(ID_Input, OnInput)
ON_BN_CLICKED(ID_Output, OnOutput)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CConvert message handlers
void CConvert::OnDyzbxt()
{
CZbxtSz dlg;
dlg.DoModal();
int i,j;
i=m_Zbxt.GetCount();
for (j=0;j<i;j++)
{ m_Zbxt.DeleteString(0);
m_New_Zbxt.DeleteString(0);
}
GyBl.Zbxt_work= GyBl.Zbxt_head;
while (GyBl.Zbxt_work!=NULL)
{
m_Zbxt.AddString(GyBl.Zbxt_work->XtName);
m_New_Zbxt.AddString(GyBl.Zbxt_work->XtName);
GyBl.Zbxt_work=GyBl.Zbxt_work->next;
}
SzzbxtName();
}
BOOL CConvert::OnInitDialog()
{
int i;
k_mode=1;
CDialog::OnInitDialog();
CString sHeading;
sHeading = _T("序号|点 号 | 转 换 前 X 坐 标 | 转 换 前 Y 坐 标 | 转 换 后 X 坐 标 | 转 换 后 Y 坐 标 ");
m_Grid1.SetFormatString ( sHeading);
sHeading = _T("序号| 点 号 | 纬 度 | 经 度 | 转 换 后 X 坐 标 | 转 换 后 Y 坐 标 ");
m_Grid2.SetFormatString ( sHeading);
sHeading = _T("序号| 点 号 | X 坐 标 | Y 坐 标 | 纬 度 | 经 度 ");
m_Grid3.SetFormatString ( sHeading);
sHeading = _T("序号| 点 号 | B | L | H |X|Y|Z");
m_Grid4.SetFormatString ( sHeading);
sHeading = _T("序号| 点 号 | X | Y | Z |B|L|H");
m_Grid5.SetFormatString ( sHeading);
for( i = 1; i < 8; i++ )
{ m_Grid4.SetColWidth(i,1500);
m_Grid5.SetColWidth(i,1500);
}
sHeading = _T("序号| 点 号 | 转 换 前 X 坐 标 | 转 换 前 Y 坐 标 | 转 换 后 X 坐 标 | 转 换 后 Y 坐 标 ");
m_Grid6.SetFormatString ( sHeading);
sHeading = _T("序号| 点 号 | 转 换 前 X 坐 标 | 转 换 前 Y 坐 标 | 转 换 前 Z 坐 标 | 转 换 后 X 坐 标 | 转 换 后 Y 坐 标 |转 换 前 Y 坐 标 ");
m_Grid7.SetFormatString ( sHeading);
m_Grid1.SetAllowUserResizing(1);
m_Grid2.SetAllowUserResizing(1);
m_Grid3.SetAllowUserResizing(1);
m_Grid4.SetAllowUserResizing(1);
m_Grid5.SetAllowUserResizing(1);
m_Grid6.SetAllowUserResizing(1);
m_Grid7.SetAllowUserResizing(1);
m_Txfs1.SetCheck(1);
Szzhfs();
GyBl.Zbxt_work= GyBl.Zbxt_head;
while (GyBl.Zbxt_work!=NULL)
{
m_Zbxt.AddString(GyBl.Zbxt_work->XtName);
m_New_Zbxt.AddString(GyBl.Zbxt_work->XtName);
GyBl.Zbxt_work=GyBl.Zbxt_work->next;
}
SzzbxtName();
ReadData();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CConvert::OnTxfs1()
{
GyBl.WorkData.Mode=1;
Szzhfs();
}
void CConvert::OnTxfs2()
{
GyBl.WorkData.Mode=2;
Szzhfs();
}
void CConvert::OnTxfs3()
{
GyBl.WorkData.Mode=3;
Szzhfs();
}
void CConvert::OnTxfs4()
{
GyBl.WorkData.Mode=4;
Szzhfs();
}
void CConvert::Szzhfs()
{
m_c21.EnableWindow(GyBl.WorkData.Mode==1||GyBl.WorkData.Mode==2);
m_c22.EnableWindow(GyBl.WorkData.Mode==1||GyBl.WorkData.Mode==2);
m_c23.EnableWindow(GyBl.WorkData.Mode==1||GyBl.WorkData.Mode==2);
m_c24.EnableWindow(GyBl.WorkData.Mode==3);
m_c25.EnableWindow(GyBl.WorkData.Mode==3);
m_c26.EnableWindow(GyBl.WorkData.Mode==4);
m_c27.EnableWindow(GyBl.WorkData.Mode==4);
Szzbxt();
}
CConvert::Szzbxt()
{
m_Zbxt.EnableWindow( ((GyBl.WorkData.Mode==1||GyBl.WorkData.Mode==2)&&
(GyBl.WorkData.Ys[1]+GyBl.WorkData.Ys[2]+GyBl.WorkData.Ys[3]>=1))
|| ( (GyBl.WorkData.Mode==3)&&
(GyBl.WorkData.Ys[4]+GyBl.WorkData.Ys[5])));
m_New_Zbxt.EnableWindow( (GyBl.WorkData.Mode==1||GyBl.WorkData.Mode==2)&&
(GyBl.WorkData.Ys[1]==1) );
m_C_New_Zyzwx.EnableWindow( ((GyBl.WorkData.Mode==1||GyBl.WorkData.Mode==2)&&
(GyBl.WorkData.Ys[1]==1)) &&(!strcmp(GyBl.WorkData.New_Zbxt.Xtmode,"系统保留")) );
if (strcmp(GyBl.WorkData.Zbxt.Xtmode,"系统保留")==0)
{
m_C_Zyzwx.EnableWindow((GyBl.WorkData.Mode==1||GyBl.WorkData.Mode==2)&&
((GyBl.WorkData.Ys[1]==1||GyBl.WorkData.Ys[3]==1||GyBl.WorkData.Ys[2]==1) ));
}
else
m_C_Zyzwx.EnableWindow(FALSE);
m_c21.SetCheck(GyBl.WorkData.Ys[1]==1);
m_c22.SetCheck(GyBl.WorkData.Ys[2]==1);
m_c23.SetCheck(GyBl.WorkData.Ys[3]==1);
m_c24.SetCheck(GyBl.WorkData.Ys[4]==1);
m_c25.SetCheck(GyBl.WorkData.Ys[5]==1);
m_c26.SetCheck(GyBl.WorkData.Ys[6]==1);
m_c27.SetCheck(GyBl.WorkData.Ys[7]==1);
Szinput();
}
void CConvert::Ona21()
{
GyBl.WorkData.Ys[1]=1;
if (GyBl.WorkData.Ys[1]==1)
{
GyBl.WorkData.Ys[2]=GyBl.WorkData.Ys[3]=0;
}
Szzbxt();
}
void CConvert::Ona22()
{
GyBl.WorkData.Ys[2]=1;
if (GyBl.WorkData.Ys[2]==1)
{
GyBl.WorkData.Ys[1]=GyBl.WorkData.Ys[3]=0;
}
Szzbxt();
}
void CConvert::Ona23()
{
GyBl.WorkData.Ys[3]=1;
if (GyBl.WorkData.Ys[3]==1)
{
GyBl.WorkData.Ys[1]=GyBl.WorkData.Ys[2]=0;
}
Szzbxt();
}
void CConvert::Ona24()
{
GyBl.WorkData.Ys[4]=1;
if (GyBl.WorkData.Ys[4]==1) GyBl.WorkData.Ys[5]=0;
Szzbxt();
}
void CConvert::Ona25()
{
GyBl.WorkData.Ys[5]=1;
if (GyBl.WorkData.Ys[5]==1) GyBl.WorkData.Ys[4]=0;
Szzbxt();
}
void CConvert::Ona26()
{
GyBl.WorkData.Ys[6]=1;
if (GyBl.WorkData.Ys[6]==1) GyBl.WorkData.Ys[7]=0;
Szzbxt();
}
void CConvert::Ona27()
{
GyBl.WorkData.Ys[7]=1;
if (GyBl.WorkData.Ys[7]==1) GyBl.WorkData.Ys[6]=0;
Szzbxt();
}
CConvert::SzzbxtName()
{
int i;
i=0;
GyBl.Zbxt_work= GyBl.Zbxt_head;
while (GyBl.Zbxt_work!=NULL)
{ i++;
if (strcmp(GyBl.Zbxt_work->XtName,GyBl.WorkData.Zbxt.XtName)==0) break;
GyBl.Zbxt_work=GyBl.Zbxt_work->next;
}
if (GyBl.Zbxt_work==NULL)
{
i++;
GyBl.NewZbxt();
strcpy(GyBl.Zbxt_work->XtName,GyBl.WorkData.Zbxt.XtName);
strcpy(GyBl.Zbxt_work->Xtmode,GyBl.WorkData.Zbxt.Xtmode);
GyBl.Zbxt_work->Ra=GyBl.WorkData.Zbxt.Ra;
GyBl.Zbxt_work->Bl=GyBl.WorkData.Zbxt.Bl;
GyBl.Zbxt_work->Bl_num=GyBl.WorkData.Zbxt.Bl_num;
GyBl.Zbxt_work->Zyzwx=GyBl.WorkData.Zbxt.Zyzwx;
GyBl.Zbxt_work->Tyg=GyBl.WorkData.Zbxt.Tyg;
GyBl.Zbxt_work->Xp=GyBl.WorkData.Zbxt.Xp;
GyBl.Zbxt_work->Yp=GyBl.WorkData.Zbxt.Yp;
m_Zbxt.AddString(GyBl.Zbxt_work->XtName);
}
m_Zbxt.SetCurSel(i-1);
strcpy(GyBl.WorkData.Zbxt.Xtmode,GyBl.Zbxt_work->Xtmode);
GyBl.WorkData.Zbxt.Ra=GyBl.Zbxt_work->Ra;
GyBl.WorkData.Zbxt.Bl=GyBl.Zbxt_work->Bl;
GyBl.WorkData.Zbxt.Bl_num=GyBl.Zbxt_work->Bl_num;
GyBl.WorkData.Zbxt.Zyzwx=GyBl.Zbxt_work->Zyzwx;
GyBl.WorkData.Zbxt.Tyg=GyBl.Zbxt_work->Tyg;
GyBl.WorkData.Zbxt.Xp=GyBl.Zbxt_work->Xp;
GyBl.WorkData.Zbxt.Yp=GyBl.Zbxt_work->Yp;
m_Zyzwx=GyBl.WorkData.Zbxt.Zyzwx;
i=0;
GyBl.Zbxt_work= GyBl.Zbxt_head;
while (GyBl.Zbxt_work!=NULL)
{ i++;
if (strcmp(GyBl.Zbxt_work->XtName,GyBl.WorkData.New_Zbxt.XtName)==0) break;
GyBl.Zbxt_work=GyBl.Zbxt_work->next;
}
if (GyBl.Zbxt_work==NULL)
{
i++;
GyBl.NewZbxt();
strcpy(GyBl.Zbxt_work->XtName,GyBl.WorkData.New_Zbxt.XtName);
strcpy(GyBl.Zbxt_work->Xtmode,GyBl.WorkData.New_Zbxt.Xtmode);
GyBl.Zbxt_work->Ra=GyBl.WorkData.New_Zbxt.Ra;
GyBl.Zbxt_work->Bl=GyBl.WorkData.New_Zbxt.Bl;
GyBl.Zbxt_work->Bl_num=GyBl.WorkData.New_Zbxt.Bl_num;
GyBl.Zbxt_work->Zyzwx=GyBl.WorkData.New_Zbxt.Zyzwx;
GyBl.Zbxt_work->Tyg=GyBl.WorkData.New_Zbxt.Tyg;
GyBl.Zbxt_work->Xp=GyBl.WorkData.New_Zbxt.Xp;
GyBl.Zbxt_work->Yp=GyBl.WorkData.New_Zbxt.Yp;
m_New_Zbxt.AddString(GyBl.Zbxt_work->XtName);
}
m_New_Zbxt.SetCurSel(i-1);
strcpy(GyBl.WorkData.New_Zbxt.Xtmode,GyBl.Zbxt_work->Xtmode);
GyBl.WorkData.New_Zbxt.Ra=GyBl.Zbxt_work->Ra;
GyBl.WorkData.New_Zbxt.Bl=GyBl.Zbxt_work->Bl;
GyBl.WorkData.New_Zbxt.Bl_num=GyBl.Zbxt_work->Bl_num;
GyBl.WorkData.New_Zbxt.Zyzwx=GyBl.Zbxt_work->Zyzwx;
GyBl.WorkData.New_Zbxt.Tyg=GyBl.Zbxt_work->Tyg;
GyBl.WorkData.New_Zbxt.Xp=GyBl.Zbxt_work->Xp;
GyBl.WorkData.New_Zbxt.Yp=GyBl.Zbxt_work->Yp;
m_New_Zyzwx=GyBl.WorkData.New_Zbxt.Zyzwx;
CWnd::UpdateData(FALSE);
Szzbxt();
}
void CConvert::OnSelchangeNewZBXT()
{
CString str;
m_New_Zbxt.GetLBText(m_New_Zbxt.GetCurSel(),str);
strcpy(GyBl.WorkData.New_Zbxt.XtName,str);
SzzbxtName();
}
void CConvert::OnSelchangeZbxt()
{
CString str;
m_Zbxt.GetLBText(m_Zbxt.GetCurSel(),str);
strcpy(GyBl.WorkData.Zbxt.XtName,str);
SzzbxtName();
}
CConvert::Szinput()
{
m_Grid1.ShowWindow(FALSE);
m_Grid2.ShowWindow(FALSE);
m_Grid3.ShowWindow(FALSE);
m_Grid4.ShowWindow(FALSE);
m_Grid5.ShowWindow(FALSE);
m_Grid6.ShowWindow(FALSE);
m_Grid7.ShowWindow(FALSE);
if (GyBl.WorkData.Mode==1||GyBl.WorkData.Mode==2)
{
m_Grid1.ShowWindow(GyBl.WorkData.Ys[1]==1);
m_Grid2.ShowWindow(GyBl.WorkData.Ys[2]==1);
m_Grid3.ShowWindow(GyBl.WorkData.Ys[3]==1);
if(GyBl.WorkData.Ys[1]==1) k_mode=1;
if(GyBl.WorkData.Ys[2]==1) k_mode=2;
if(GyBl.WorkData.Ys[3]==1) k_mode=3;
}
if (GyBl.WorkData.Mode==3)
{
m_Grid4.ShowWindow(GyBl.WorkData.Ys[4]==1);
m_Grid5.ShowWindow(GyBl.WorkData.Ys[5]==1);
if(GyBl.WorkData.Ys[4]==1) k_mode=4;
if(GyBl.WorkData.Ys[5]==1) k_mode=5;
}
if (GyBl.WorkData.Mode==4)
{
m_Grid6.ShowWindow(GyBl.WorkData.Ys[6]==1);
m_Grid7.ShowWindow(GyBl.WorkData.Ys[7]==1);
if(GyBl.WorkData.Ys[6]==1) k_mode=6;
if(GyBl.WorkData.Ys[7]==1) k_mode=7;
}
}
BEGIN_EVENTSINK_MAP(CConvert, CDialog)
//{{AFX_EVENTSINK_MAP(CConvert)
ON_EVENT(CConvert, IDC_Grid1, -600 /* Click */, OnClickGrid1, VTS_NONE)
ON_EVENT(CConvert, IDC_Grid2, -600 /* Click */, OnClickGrid1, VTS_NONE)
ON_EVENT(CConvert, IDC_Grid3, -600 /* Click */, OnClickGrid1, VTS_NONE)
ON_EVENT(CConvert, IDC_Grid4, -600 /* Click */, OnClickGrid1, VTS_NONE)
ON_EVENT(CConvert, IDC_Grid5, -600 /* Click */, OnClickGrid1, VTS_NONE)
ON_EVENT(CConvert, IDC_Grid1, 71 /* EnterCell */, OnEnterCellGrid1, VTS_NONE)
ON_EVENT(CConvert, IDC_Grid2, 71 /* EnterCell */, OnEnterCellGrid1, VTS_NONE)
ON_EVENT(CConvert, IDC_Grid3, 71 /* EnterCell */, OnEnterCellGrid1, VTS_NONE)
ON_EVENT(CConvert, IDC_Grid4, 71 /* EnterCell */, OnEnterCellGrid1, VTS_NONE)
ON_EVENT(CConvert, IDC_Grid5, 71 /* EnterCell */, OnEnterCellGrid1, VTS_NONE)
ON_EVENT(CConvert, IDC_Grid1, -603 /* KeyPress */, OnKeyPressGrid1, VTS_PI2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -