|
|
|
|
// LonLatDlg.cpp : ʵ<><CAB5><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
#include "LonLatDlg.h"
|
|
|
|
|
//#include "afxdialogex.h"
|
|
|
|
|
#include "Globe.h"
|
|
|
|
|
#include "afxwin.h"
|
|
|
|
|
|
|
|
|
|
// CLonLatDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_DYNAMIC(CLonLatDlg, CDialog)
|
|
|
|
|
|
|
|
|
|
CLonLatDlg::CLonLatDlg(CWnd* pParent /*=NULL*/)
|
|
|
|
|
: CDialog(CLonLatDlg::IDD, pParent)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
m_lon = 0.0;
|
|
|
|
|
m_lat = 0.0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CLonLatDlg::~CLonLatDlg()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CLonLatDlg::DoDataExchange(CDataExchange* pDX)
|
|
|
|
|
{
|
|
|
|
|
CDialog::DoDataExchange(pDX);
|
|
|
|
|
DDX_Text(pDX, IDC_EDIT_LON, m_lon);
|
|
|
|
|
DDX_Text(pDX, IDC_EDIT_LAT, m_lat);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CLonLatDlg, CDialog)
|
|
|
|
|
ON_BN_CLICKED(IDC_CONFIRM_BTN, &CLonLatDlg::OnBnClickedConfirmBtn)
|
|
|
|
|
ON_BN_CLICKED(IDC_CHECK1, &CLonLatDlg::OnBnClickedCheck1)
|
|
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// CLonLatDlg <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
//<2F><>ȡ<EFBFBD>Ƿ<EFBFBD><C7B7>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
bool CLonLatDlg::GetAutoEditStatus()
|
|
|
|
|
{
|
|
|
|
|
return m_isMouseMove;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>뾭<EFBFBD>ȡ<EFBFBD>γ<EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
//<2F><><EFBFBD>룺<EFBFBD><EBA3BA><EFBFBD><EFBFBD>lon<6F><6E>γ<EFBFBD><CEB3>lat
|
|
|
|
|
void CLonLatDlg::SetLonLatInfo(const double lon, const double lat)
|
|
|
|
|
{
|
|
|
|
|
m_lon = lon;
|
|
|
|
|
m_lat = lat;
|
|
|
|
|
|
|
|
|
|
UpdateData(FALSE);
|
|
|
|
|
//UpdateData(TRUE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CLonLatDlg::OnCancel()
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD>Ѿ<EFBFBD><D1BE>ر<EFBFBD>
|
|
|
|
|
if (g_mapHwnd != NULL)
|
|
|
|
|
{
|
|
|
|
|
::PostMessage(g_mapHwnd, WM_CLOSE_LONLAT_DIALOG, 0, 0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CDialog::OnCancel();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3>ƶ<EFBFBD><C6B6>Ի<EFBFBD><D4BB><EFBFBD><F2B5BDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
void CLonLatDlg::MoveToGivenArea(const CRect rcArea)
|
|
|
|
|
{
|
|
|
|
|
m_rcDlgArea = rcArea;
|
|
|
|
|
m_rcDlgArea.top += 20;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
BOOL CLonLatDlg::OnInitDialog()
|
|
|
|
|
{
|
|
|
|
|
CDialog::OnInitDialog();
|
|
|
|
|
|
|
|
|
|
SetWindowPos( &CWnd::wndTop, m_rcDlgArea.left, m_rcDlgArea.top, 0, 0, SWP_NOSIZE | SWP_NOACTIVATE | SWP_HIDEWINDOW );
|
|
|
|
|
|
|
|
|
|
m_CheckBox.SubclassDlgItem(IDC_CHECK1, this);
|
|
|
|
|
m_CheckBox.SetCheck(BST_UNCHECKED); // <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>δѡ<CEB4><D1A1>״̬
|
|
|
|
|
m_isMouseMove = true;
|
|
|
|
|
|
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
|
|
|
// <20>쳣: OCX <20><><EFBFBD><EFBFBD>ҳӦ<D2B3><D3A6><EFBFBD><EFBFBD> FALSE
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CLonLatDlg::OnBnClickedConfirmBtn()
|
|
|
|
|
{
|
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
CString str_lon;
|
|
|
|
|
CString str_lat;
|
|
|
|
|
GetDlgItemText(IDC_EDIT_LON, str_lon);
|
|
|
|
|
GetDlgItemText(IDC_EDIT_LAT, str_lat);
|
|
|
|
|
double lon = _tstof(str_lon);
|
|
|
|
|
double lat = _tstof(str_lat);
|
|
|
|
|
//::SendMessage(g_mapHwnd, WM_SEND_MAPLOCATION, WPARAM(_tstof(lon)*1000000), LPARAM(_tstof(lat)*1000000));
|
|
|
|
|
::SendMessage(g_mapHwnd, WM_SEND_MAPLOCATION, (WPARAM)&lon, (LPARAM)&lat);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CLonLatDlg::OnBnClickedCheck1()
|
|
|
|
|
{
|
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if (m_CheckBox.GetCheck() == BST_CHECKED)
|
|
|
|
|
{
|
|
|
|
|
// <20><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>
|
|
|
|
|
m_isMouseMove = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// <20><>ѡ<EFBFBD><D1A1>δѡ<CEB4><D1A1>
|
|
|
|
|
m_isMouseMove = true;
|
|
|
|
|
}
|
|
|
|
|
}
|