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

📄 spachmethoddlg.cpp

📁 数据结构链表的演示程序
💻 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 + -