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

📄 mapgriddlg.cpp

📁 vc 和mapobjects地理信息系统组件开发 很有启发意义和参考价值
💻 CPP
字号:
// MapGridDlg.cpp : implementation file
//

#include "stdafx.h"
#include "mapper.h"
#include "MapGridDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CMapGridDlg dialog


CMapGridDlg::CMapGridDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMapGridDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMapGridDlg)
	m_dGridBottom = 0.0;
	m_dGridLeft = 0.0;
	m_dGridRight = 0.0;
	m_dGridTop = 0.0;
	m_dStepX = 0.0;
	m_dStepY = 0.0;
	m_bValue = FALSE;
	m_dWndBottom = 0.0;
	m_dWndLeft = 0.0;
	m_dWndRight = 0.0;
	m_dWndTop = 0.0;
	m_nStyle = 2;
	m_iSize = 1;
	//}}AFX_DATA_INIT
}


void CMapGridDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMapGridDlg)
	DDX_Control(pDX, IDC_COLOR, m_oColor);
	DDX_Text(pDX, IDC_GRID_BOTTOM, m_dGridBottom);
	DDX_Text(pDX, IDC_GRID_LEFT, m_dGridLeft);
	DDX_Text(pDX, IDC_GRID_RIGHT, m_dGridRight);
	DDX_Text(pDX, IDC_GRID_TOP, m_dGridTop);
	DDX_Text(pDX, IDC_STEP_X, m_dStepX);
	DDX_Text(pDX, IDC_STEP_Y, m_dStepY);
	DDX_Check(pDX, IDC_VALUE, m_bValue);
	DDX_Text(pDX, IDC_WND_BOTTOM, m_dWndBottom);
	DDX_Text(pDX, IDC_WND_LEFT, m_dWndLeft);
	DDX_Text(pDX, IDC_WND_RIGHT, m_dWndRight);
	DDX_Text(pDX, IDC_WND_TOP, m_dWndTop);
	DDX_CBIndex(pDX, IDC_STYLE, m_nStyle);
	DDX_Text(pDX, IDC_GRID_SIZE, m_iSize);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CMapGridDlg, CDialog)
	//{{AFX_MSG_MAP(CMapGridDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMapGridDlg message handlers

BOOL CMapGridDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	m_dGridLeft=floor(m_dWndLeft);
	m_dGridRight=ceil(m_dWndRight);
	m_dGridBottom=floor(m_dWndBottom);
	m_dGridTop=ceil(m_dWndTop);

	//自动计算间隔,原则为5-10个,将为20.0,10.0,5.0,2.0,1.0,0.5,0.2.0.1
	int i,n;
	BOOL bSuccess=FALSE;
	double step[]={20.0,10.0,5.0,2.0,1.0,0.5,0.2,0.1,0.05};
	for(i=0;i<sizeof(step)/sizeof(double);i++)
	{
		n=(int)((m_dGridRight-m_dGridLeft)/step[i]);
		if((n>=5)&&(n<=10))
		{
			m_dStepX=step[i];
			bSuccess=TRUE;
			break;
		}
	}
	if(!bSuccess)
	{
		m_dStepX=(m_dGridRight-m_dGridLeft)/10.0;
	}

	bSuccess=FALSE;
	for(i=0;i<sizeof(step)/sizeof(double);i++)
	{
		n=(int)((m_dGridTop-m_dGridBottom)/step[i]);
		if((n>=5)&&(n<=10))
		{
			m_dStepY=step[i];
			bSuccess=TRUE;
			break;
		}
	}
	if(!bSuccess)
	{
		m_dStepY=(m_dGridTop-m_dGridBottom)/10.0;
	}

	m_oColor.SetColor(RGB(0,0,255));
	UpdateData(FALSE);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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