📄 spachmethoddlg.cpp
字号:
// SpachMethodDlg.cpp : implementation file
//
#include "stdafx.h"
#include "LandSoft.h"
#include "SpachMethodDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSpachMethodDlg dialog
CSpachMethodDlg::CSpachMethodDlg(CWnd* pParent,UINT width,UINT height,
UINT xnum,UINT ynum, UINT horiz,UINT verti,
UINT ranboxnum,UINT ranboxwidth,UINT ranboxheight,
float power)
: CDialog(CSpachMethodDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSpachMethodDlg)
m_nXNum = xnum;
m_nYNum = ynum;
m_nHoriz = horiz;
m_nVerti = verti;
m_nRanBoxNum = ranboxnum;
m_nRanBoxHeight = ranboxwidth;
m_nRanBoxWidth = ranboxheight;
m_nWidth=width;
m_nHeight=height;
m_dPower=power;
//}}AFX_DATA_INIT
m_bRandom=TRUE;
}
void CSpachMethodDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSpachMethodDlg)
DDX_Control(pDX, IDC_YNUM, m_editYNum);
DDX_Control(pDX, IDC_XNUM, m_editXNum);
DDX_Control(pDX, IDC_VERTI_DIST, m_editVertiDist);
DDX_Control(pDX, IDC_RAN_BOXWIDTH, m_editRanBoxWidth);
DDX_Control(pDX, IDC_RAN_BOXHEIGHT, m_editRanBoxHeight);
DDX_Control(pDX, IDC_HORIZ_DIST, m_editHorizDist);
DDX_Control(pDX, IDC_EDIT_RAN_BOXNUM, m_editRanBoxNum);
DDX_Text(pDX, IDC_EDIT_POWER,m_dPower);
DDX_Text(pDX, IDC_XNUM, m_nXNum);
DDV_MinMaxUInt(pDX, m_nXNum, 1, m_nWidth);
DDX_Text(pDX, IDC_YNUM, m_nYNum);
DDV_MinMaxUInt(pDX, m_nYNum, 1, m_nHeight);
DDX_Text(pDX, IDC_HORIZ_DIST, m_nHoriz);
DDX_Text(pDX, IDC_VERTI_DIST, m_nVerti);
DDX_Text(pDX, IDC_EDIT_RAN_BOXNUM, m_nRanBoxNum);
DDV_MinMaxUInt(pDX,m_nRanBoxNum,2,m_nWidth*m_nHeight);
DDX_Text(pDX, IDC_RAN_BOXHEIGHT, m_nRanBoxHeight);
DDV_MinMaxUInt(pDX,m_nRanBoxHeight,1,m_nHeight);
DDX_Text(pDX, IDC_RAN_BOXWIDTH, m_nRanBoxWidth);
DDV_MinMaxUInt(pDX,m_nRanBoxWidth,1,m_nWidth);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSpachMethodDlg, CDialog)
//{{AFX_MSG_MAP(CSpachMethodDlg)
ON_BN_CLICKED(IDC_RADIO_RANDOM, OnRadioRandom)
ON_BN_CLICKED(IDC_RADIO_SYSTEM, OnRadioSystem)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSpachMethodDlg message handlers
void CSpachMethodDlg::OnOK()
{
UpdateData(TRUE);
if(m_bRandom&&m_nRanBoxHeight==m_nRanBoxWidth)
{
CDialog::OnOK();
}
else if((m_nXNum*m_nYNum>1)
&&(m_nHeight%m_nYNum==0)&&(m_nWidth%m_nXNum==0)&&
(m_nHeight/m_nYNum==m_nWidth/m_nXNum))
{
CDialog::OnOK();
}
else
{
AfxMessageBox("所输入的值不能得到合适的方形BOX,请重新输入!",MB_OK);
return;
}
}
void CSpachMethodDlg::OnRadioRandom()
{
UpdateData(TRUE);
UpdateData(FALSE);
m_bRandom=TRUE;
m_editXNum.EnableWindow(FALSE);
m_editYNum.EnableWindow(FALSE);
m_editVertiDist.EnableWindow(FALSE);
m_editHorizDist.EnableWindow(FALSE);
m_editRanBoxNum.EnableWindow(TRUE);
m_editRanBoxWidth.EnableWindow(TRUE);
m_editRanBoxHeight.EnableWindow(TRUE);
}
void CSpachMethodDlg::OnRadioSystem()
{
UpdateData(TRUE);
UpdateData(FALSE);
m_bRandom=FALSE;
m_editXNum.EnableWindow(TRUE);
m_editYNum.EnableWindow(TRUE);
m_editVertiDist.EnableWindow(TRUE);
m_editHorizDist.EnableWindow(TRUE);
m_editRanBoxNum.EnableWindow(FALSE);
m_editRanBoxWidth.EnableWindow(FALSE);
m_editRanBoxHeight.EnableWindow(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -