www.gusucode.com > 铁路列车车辆监控系统本系统要求PC机有两个串行通讯串口, > 铁路列车车辆监控系统本系统要求PC机有两个串行通讯串口,有线MODEM一个。其它配置没有严格的要求,一般配置即可。/铁路列车车辆监控系统/电子地图显示模块(江军)/EagleViewNew/DialogNormalCity.cpp

    // DialogNormalCity.cpp : implementation file
//

#include "stdafx.h"
#include "EagleView.h"
#include "DialogNormalCity.h"
#include "MainFrm.h"
#include "EagleViewView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDialogNormalCity dialog


CDialogNormalCity::CDialogNormalCity(CWnd* pParent /*=NULL*/)
	: CDialog(CDialogNormalCity::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDialogNormalCity)
	m_NormalCityNum = _T("");
	m_NormalCityName = _T("");
	//}}AFX_DATA_INIT
}


void CDialogNormalCity::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDialogNormalCity)
	DDX_Control(pDX, IDC_ADODC_NORMALCITY, m_Adodc_NormalCity);
	DDX_Text(pDX, IDC_EDIT_NORMALCITY_NUM, m_NormalCityNum);
	DDX_Text(pDX, IDC_EDIT_NORMALCITY_NAME, m_NormalCityName);
	DDX_Control(pDX, IDC_DATAGRID_NOR, m_DGrid);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDialogNormalCity, CDialog)
	//{{AFX_MSG_MAP(CDialogNormalCity)
	ON_BN_CLICKED(IDC_BUTTON_EXIT, OnButtonExit)
	ON_BN_CLICKED(IDC_BUTTON_NORMALCITY, OnButtonNormalcity)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDialogNormalCity message handlers

void CDialogNormalCity::OnButtonExit() 
{
	// TODO: Add your control notification handler code here
	CMainFrame *pFram=(CMainFrame *)AfxGetApp()->m_pMainWnd;
	CEagleViewView  *pView=(CEagleViewView* )pFram->m_SplitterH.GetPane(0,0);

	CMapXLayer layerN=pView->m_mainmap.GetLayers().Item("一般城市");
	layerN.GetSelection().ClearSelection();
	CDialog::OnCancel();
}

void CDialogNormalCity::OnButtonNormalcity() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	CMainFrame *pFram=(CMainFrame *)AfxGetApp()->m_pMainWnd;
	CEagleViewView  *pView=(CEagleViewView* )pFram->m_SplitterH.GetPane(0,0);

	CMapXLayer layerN=pView->m_mainmap.GetLayers().Item("一般城市");
	layerN.GetSelection().ClearSelection();

	if(m_NormalCityNum.IsEmpty()&&m_NormalCityName.IsEmpty())
	{
		MessageBox("至少输入一个查询项!");
	}
	else
	{
		if(m_NormalCityNum.IsEmpty())
		{
			CString strSQL="select * from 一般城市 where 城市名 = '"+m_NormalCityName+"'";
			m_Adodc_NormalCity.SetRecordSource(strSQL);
			m_Adodc_NormalCity.Refresh();
			
			if(m_DGrid.GetRow()==-1)
			{
				MessageBox("不存在这样的城市名!");
				return;
			}

			m_DGrid.SetRow(0);
			m_DGrid.SetCol(0);
			m_NormalCityNum=m_DGrid.GetText();

			CMainFrame *pFram=(CMainFrame *)AfxGetApp()->m_pMainWnd;
			CEagleViewView  *pView=(CEagleViewView* )pFram->m_SplitterH.GetPane(0,0);
			CMapXLayer layer=pView->m_mainmap.GetLayers().Item("一般城市");
			if(layer.GetFind().Search(m_NormalCityNum).GetCenterX()==0&&layer.GetFind().Search(m_NormalCityNum).GetCenterY()==0)
			{
				MessageBox("不存在这样的一般城市!");
			}
			else
			{
				pView->m_mainmap.ZoomTo(1000,layer.GetFind().Search(m_NormalCityNum).GetCenterX(),layer.GetFind().Search(m_NormalCityNum).GetCenterY());
				layer.GetSelection().Add(layer.GetFind().Search(m_NormalCityNum));
			}
		}
		else 
			if(m_NormalCityName.IsEmpty())
			{
				CString strSQL="select * from 一般城市 where 城市号 = "+m_NormalCityNum;
				m_Adodc_NormalCity.SetRecordSource(strSQL);
				m_Adodc_NormalCity.Refresh();
				
				if(m_DGrid.GetRow()==-1)
				{
					MessageBox("不存在这样的城市号!");
					return;
				}

				CMainFrame *pFram=(CMainFrame *)AfxGetApp()->m_pMainWnd;
				CEagleViewView  *pView=(CEagleViewView* )pFram->m_SplitterH.GetPane(0,0);
				CMapXLayer layer=pView->m_mainmap.GetLayers().Item("一般城市");
				if(layer.GetFind().Search(m_NormalCityNum).GetCenterX()==0&&layer.GetFind().Search(m_NormalCityNum).GetCenterY()==0)
				{
					MessageBox("不存在这样的一般城市!");
				}
				else
				{
					pView->m_mainmap.ZoomTo(1000,layer.GetFind().Search(m_NormalCityNum).GetCenterX(),layer.GetFind().Search(m_NormalCityNum).GetCenterY());
					layer.GetSelection().Add(layer.GetFind().Search(m_NormalCityNum));
				}
			}
			else
			{
				CString strSQL="select * from 一般城市 where 城市号 = "+m_NormalCityNum+" and 城市名 ='"+m_NormalCityName+"'";
				m_Adodc_NormalCity.SetRecordSource(strSQL);
				m_Adodc_NormalCity.Refresh();
				
				if(m_DGrid.GetRow()==-1)
				{
					MessageBox("城市号和城市名不匹配!");
					return;
				}

				m_DGrid.SetRow(0);
				m_DGrid.SetCol(0);
				m_NormalCityNum=m_DGrid.GetText();

				CMainFrame *pFram=(CMainFrame *)AfxGetApp()->m_pMainWnd;
				CEagleViewView  *pView=(CEagleViewView* )pFram->m_SplitterH.GetPane(0,0);
				CMapXLayer layer=pView->m_mainmap.GetLayers().Item("一般城市");
				if(layer.GetFind().Search(m_NormalCityNum).GetCenterX()==0&&layer.GetFind().Search(m_NormalCityNum).GetCenterY()==0)
				{
					MessageBox("不存在这样的一般城市!");
				}
				else
				{
					pView->m_mainmap.ZoomTo(1000,layer.GetFind().Search(m_NormalCityNum).GetCenterX(),layer.GetFind().Search(m_NormalCityNum).GetCenterY());
					layer.GetSelection().Add(layer.GetFind().Search(m_NormalCityNum));
				}
			}
	}
}