⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 seldlg.cpp

📁 用VC开发的GPS监控跟踪软件,已经调试过,并在实际中使用,现与大家共享
💻 CPP
字号:
// SelDlg.cpp : implementation file
//

#include "stdafx.h"
#include "MapDemo.h"
#include "SelDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSelLayerDlg dialog


CSelLayerDlg::CSelLayerDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSelLayerDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSelLayerDlg)
	m_strListBox = _T("");
	m_strLayer = _T("");
	//}}AFX_DATA_INIT
	m_pMapX=NULL;
}
CSelLayerDlg::CSelLayerDlg(CMapX* pMapX,CWnd* pParent /*=NULL*/)
	: CDialog(CSelLayerDlg::IDD, pParent)
{

	m_strListBox = _T("");
	m_strLayer = _T("");
	m_pMapX=pMapX;
}


void CSelLayerDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSelLayerDlg)
	DDX_Control(pDX, IDC_LIST_LAYERDLG, m_listBox);
	DDX_LBString(pDX, IDC_LIST_LAYERDLG, m_strListBox);
	DDX_Text(pDX, IDC_STATIC_LAYERNAME, m_strLayer);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSelLayerDlg, CDialog)
	//{{AFX_MSG_MAP(CSelLayerDlg)
	ON_LBN_SELCHANGE(IDC_LIST_LAYERDLG, OnSelchangeListLayerdlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSelLayerDlg message handlers

BOOL CSelLayerDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	if(m_pMapX==NULL) return TRUE;
    CMapXLayers layers=m_pMapX->GetLayers();
    int nIndex=-1;
	for(int i=0;i<layers.GetCount();i++)
	{
		CMapXLayer layer=layers.Item(i+1);
		CString strName=layer.GetName();
		m_listBox.AddString(strName);
		if(m_strLayer==strName) nIndex=i;
    }
    
	m_listBox.SetCurSel(nIndex);
	UpdateData(FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CSelLayerDlg::OnSelchangeListLayerdlg() 
{
      UpdateData(TRUE);
	  m_strLayer=m_strListBox;
	  UpdateData(FALSE);
}

CString CSelLayerDlg::GetEditLayerName()
{
	return m_strLayer;
}

void CSelLayerDlg::SetEditLayerName(CString str)
{
     m_strLayer=str;
}

void CSelLayerDlg::OnOK() 
{  
	if(m_pMapX!=NULL){
		UpdateData(FALSE);
		CMapXLayers layers=m_pMapX->GetLayers();
		CMapXLayer layer=layers.Item(m_strLayer);
		if(layer.GetEditable())
			layer.SetEditable(TRUE); 
	
    }
		
	CDialog::OnOK();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -