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

    // DialogMain.cpp : implementation file
//

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

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

#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")

/////////////////////////////////////////////////////////////////////////////
// CDialogMain dialog


CDialogMain::CDialogMain(CWnd* pParent /*=NULL*/)
	: CDialog(CDialogMain::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDialogMain)
	m_MainNum = _T("");
	m_MainName = _T("");
	//}}AFX_DATA_INIT
}


void CDialogMain::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDialogMain)
	DDX_Text(pDX, IDC_EDIT_MAIN_NUM, m_MainNum);
	DDX_Text(pDX, IDC_EDIT_MAIN_NAME, m_MainName);
	DDX_Control(pDX, IDC_ADODC_MAIN, m_Adodc);
	DDX_Control(pDX, IDC_DATAGRID_MAIN, m_DGrid);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDialogMain, CDialog)
	//{{AFX_MSG_MAP(CDialogMain)
	ON_BN_CLICKED(IDC_BUTTON_EXIT1, OnButtonExit1)
	ON_BN_CLICKED(IDC_BUTTON_MAIN, OnButtonMain)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDialogMain message handlers

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

	CMapXLayer layerM=pView->m_mainmap.GetLayers().Item("省会");
	layerM.GetSelection().ClearSelection();
	CDialog::OnCancel();
}

void CDialogMain::OnButtonMain() 
{
	// 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 layerM=pView->m_mainmap.GetLayers().Item("省会");
	layerM.GetSelection().ClearSelection();
	if(m_MainNum.IsEmpty()&&m_MainName.IsEmpty())
	{
		MessageBox("至少输入一个查询项!");
	}
	else
	{
		if(m_MainNum.IsEmpty())//m_MainName
		{
			
			CString strSQL="select * from 省会 where 省会名 = '"+m_MainName+"'";
			m_Adodc.SetRecordSource(strSQL);
			m_Adodc.Refresh();
			
			if(m_DGrid.GetRow()==-1)
			{
				MessageBox("不存在这样的省会名!");
				return;
			}

			m_DGrid.SetRow(0);
			m_DGrid.SetCol(0);
			m_MainNum=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_MainNum).GetCenterX()==0&&layer.GetFind().Search(m_MainNum).GetCenterY()==0)
			{
				MessageBox("不存在这样的省会!");
			}
			else
			{
				pView->m_mainmap.ZoomTo(1000,layer.GetFind().Search(m_MainNum).GetCenterX(),layer.GetFind().Search(m_MainNum).GetCenterY());
				layer.GetSelection().Add(layer.GetFind().Search(m_MainNum));
			}
		}
		else 
			if(m_MainName.IsEmpty())
			{
				CString strSQL="select * from 省会 where 省会号 = '"+m_MainNum+"'";
				m_Adodc.SetRecordSource(strSQL);
				m_Adodc.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_MainNum).GetCenterX()==0&&layer.GetFind().Search(m_MainNum).GetCenterY()==0)
				{
					MessageBox("不存在这样的省会!");
				}
				else
				{
					pView->m_mainmap.ZoomTo(1000,layer.GetFind().Search(m_MainNum).GetCenterX(),layer.GetFind().Search(m_MainNum).GetCenterY());
					layer.GetSelection().Add(layer.GetFind().Search(m_MainNum));
				}
			}
			else
			{
				CString strSQL="select * from 省会 where 省会号 = '"+m_MainNum+"' and 省会名 ='"+m_MainName+"'";
				m_Adodc.SetRecordSource(strSQL);
				m_Adodc.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_MainNum).GetCenterX()==0&&layer.GetFind().Search(m_MainNum).GetCenterY()==0)
				{
					MessageBox("不存在这样的省会!");
				}
				else
				{
					pView->m_mainmap.ZoomTo(1000,layer.GetFind().Search(m_MainNum).GetCenterX(),layer.GetFind().Search(m_MainNum).GetCenterY());
					layer.GetSelection().Add(layer.GetFind().Search(m_MainNum));
				}
			}
	}
}