📄 zbxtsz.cpp
字号:
// ZbxtSz.cpp : implementation file
//
#include "stdafx.h"
#include "坐标转换.h"
#include "ZbxtSz.h"
#include "gybl.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CZbxtSz dialog
CZbxtSz::CZbxtSz(CWnd* pParent /*=NULL*/)
: CDialog(CZbxtSz::IDD, pParent)
{
//{{AFX_DATA_INIT(CZbxtSz)
m_Name = _T("");
m_TYG = 0.0;
m_XP = 0.0;
m_YP = 0.0;
m_Zyzwx = 0.0;
m_Ra = 0.0;
m_Bl = _T("");
//}}AFX_DATA_INIT
}
void CZbxtSz::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CZbxtSz)
DDX_Control(pDX, IDC_New_Delete, m_New_Delete);
DDX_Control(pDX, IDC_SAVE_ZBXT, m_SAVE_ZBXT);
DDX_Control(pDX, IDC_ZbxtSZ_Zyzwx, m_C_Zyzwx);
DDX_Control(pDX, IDC_ZbxtSZ_YP, m_C_YP);
DDX_Control(pDX, IDC_ZbxtSZ_XP, m_C_XP);
DDX_Control(pDX, IDC_ZbxtSZ_TYG, m_C_TYG);
DDX_Control(pDX, IDC_ZbxtSZ_Ra, m_C_Ra);
DDX_Control(pDX, IDC_ZbxtSZ_Name, m_C_Name);
DDX_Control(pDX, IDC_ZbxtSZ_Bl, m_C_Bl);
DDX_Control(pDX, IDC_ZbxtSZ_List, m_List);
DDX_Text(pDX, IDC_ZbxtSZ_Name, m_Name);
DDV_MaxChars(pDX, m_Name, 100);
DDX_Text(pDX, IDC_ZbxtSZ_TYG, m_TYG);
DDX_Text(pDX, IDC_ZbxtSZ_XP, m_XP);
DDX_Text(pDX, IDC_ZbxtSZ_YP, m_YP);
DDX_Text(pDX, IDC_ZbxtSZ_Zyzwx, m_Zyzwx);
DDX_Text(pDX, IDC_ZbxtSZ_Ra, m_Ra);
DDX_Text(pDX, IDC_ZbxtSZ_Bl, m_Bl);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CZbxtSz, CDialog)
//{{AFX_MSG_MAP(CZbxtSz)
ON_LBN_DBLCLK(IDC_ZbxtSZ_List, OnDblclkZbxtSZList)
ON_BN_CLICKED(IDC_New_ZBXT, OnNewZBXT)
ON_BN_CLICKED(IDC_SAVE_ZBXT, OnSaveZbxt)
ON_LBN_SELCHANGE(IDC_ZbxtSZ_List, OnDblclkZbxtSZList)
ON_BN_CLICKED(IDC_New_Delete, OnNewDelete)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CZbxtSz message handlers
void CZbxtSz::OnCancel()
{
// TODO: Add extra cleanup here
// CDialog::OnCancel();
}
void CZbxtSz::OnDblclkZbxtSZList()
{
int i;
CString str;
i=m_List.GetCurSel();
if (i==-1) return;
m_List.GetText(m_List.GetCurSel(),str);
GyBl.Zbxt_work= GyBl.Zbxt_head;
while (GyBl.Zbxt_work!=NULL)
{
// if (strcmp(GyBl.Zbxt_work->XtName,str)==0) break;
if (i==0) break;
i--;
GyBl.Zbxt_work=GyBl.Zbxt_work->next;
}
addshu();
}
void CZbxtSz::addshu()
{ CString str;
m_Name.Format("%s",GyBl.Zbxt_work->XtName);
m_Ra=GyBl.Zbxt_work->Ra;
str.Format("%c.%df",'%',GyBl.Zbxt_work->Bl_num);
m_Bl.Format(str,GyBl.Zbxt_work->Bl);
m_YP=500000;
m_XP=m_Zyzwx=m_TYG=0;
if (strcmp(GyBl.Zbxt_work->Xtmode,"系统保留")==0)
{
m_C_Name.EnableWindow(FALSE);
m_C_Ra.EnableWindow(FALSE);
m_C_Bl.EnableWindow(FALSE);
m_C_Zyzwx.EnableWindow(FALSE);
m_C_XP.EnableWindow(FALSE);
m_C_YP.EnableWindow(FALSE);
m_C_TYG.EnableWindow(FALSE);
m_SAVE_ZBXT.EnableWindow(FALSE);
m_New_Delete.EnableWindow(FALSE);
}
else
{
m_Zyzwx=GyBl.Zbxt_work->Zyzwx;
m_TYG=GyBl.Zbxt_work->Tyg;
m_XP=GyBl.Zbxt_work->Xp;
m_YP=GyBl.Zbxt_work->Yp;
m_C_Name.EnableWindow(TRUE);
m_C_Ra.EnableWindow(TRUE);
m_C_Bl.EnableWindow(TRUE);
m_C_Zyzwx.EnableWindow(TRUE);
m_C_XP.EnableWindow(TRUE);
m_C_YP.EnableWindow(TRUE);
m_C_TYG.EnableWindow(TRUE);
m_SAVE_ZBXT.EnableWindow(TRUE);
m_New_Delete.EnableWindow(TRUE);
}
CWnd::UpdateData(FALSE);
}
BOOL CZbxtSz::OnInitDialog()
{
CDialog::OnInitDialog();
GyBl.Zbxt_work= GyBl.Zbxt_head;
while (GyBl.Zbxt_work!=NULL)
{
m_List.AddString(GyBl.Zbxt_work->XtName);
GyBl.Zbxt_work=GyBl.Zbxt_work->next;
}
GyBl.Zbxt_work= GyBl.Zbxt_head;
if (GyBl.Zbxt_work==NULL) return FALSE;
addshu();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CZbxtSz::OnNewZBXT()
{
CString str;
GyBl.NewZbxt();
getshu();
strcpy(GyBl.Zbxt_work->XtName,"自定义坐标系统");
strcpy(GyBl.Zbxt_work->Xtmode,"自定义坐标系统");
GyBl.Zbxt_work->Bl_num=9;
m_Name.Format("%s",GyBl.Zbxt_work->XtName);
str.Format("%c.%df",'%',GyBl.Zbxt_work->Bl_num);
m_Bl.Format(str,GyBl.Zbxt_work->Bl);
m_C_Name.EnableWindow(TRUE);
m_C_Ra.EnableWindow(TRUE);
m_C_Bl.EnableWindow(TRUE);
m_C_Zyzwx.EnableWindow(TRUE);
m_C_XP.EnableWindow(TRUE);
m_C_YP.EnableWindow(TRUE);
m_C_TYG.EnableWindow(TRUE);
m_List.AddString(GyBl.Zbxt_work->XtName);
CWnd::UpdateData(FALSE);
m_List.SetCurSel(m_List.GetCount()-1);
addshu();
}
void CZbxtSz::getshu()
{
CWnd::UpdateData(TRUE);
strcpy(GyBl.Zbxt_work->XtName,m_Name);
GyBl.Zbxt_work->Ra=m_Ra;
GyBl.Zbxt_work->Bl=atof(m_Bl);
GyBl.Zbxt_work->Zyzwx=m_Zyzwx;
GyBl.Zbxt_work->Tyg=m_TYG;
GyBl.Zbxt_work->Xp=m_XP;
GyBl.Zbxt_work->Yp=m_YP;
}
void CZbxtSz::OnSaveZbxt()
{ int i;
getshu();
i=m_List.GetCurSel();
m_List.DeleteString(i);
m_List.InsertString(i,GyBl.Zbxt_work->XtName);
m_List.SetCurSel(i);
}
void CZbxtSz::OnOK()
{
// TODO: Add extra validation here
GyBl.SaveZbxt();
CDialog::OnOK();
}
void CZbxtSz::OnNewDelete()
{ int i;
i=m_List.GetCurSel();
m_List.DeleteString(i);
if (i==-1) return ;
GyBl.Zbxt_work1= GyBl.Zbxt_head;
while (GyBl.Zbxt_work1->next!=NULL)
{
if (GyBl.Zbxt_work1->next==GyBl.Zbxt_work) break;
GyBl.Zbxt_work1=GyBl.Zbxt_work1->next;
}
GyBl.Zbxt_work1->next=GyBl.Zbxt_work->next;
delete GyBl.Zbxt_work;
GyBl.Zbxt_work=GyBl.Zbxt_work1;
m_List.SetCurSel(i-1);
addshu();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -