📄 mapgriddlg.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 + -