www.pudn.com > Imagepro.rar > DlgSlipWindow.cpp
// DlgSlipWindow.cpp : implementation file
//
#include "stdafx.h"
#include "ImgPro.h "
#include "DlgSlipWindow.h"
#include "imgprolib.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgSlipWindow dialog
CDlgSlipWindow::CDlgSlipWindow(CWnd* pParent /*=NULL*/)
: CDialog(CDlgSlipWindow::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgSlipWindow)
//}}AFX_DATA_INIT
}
void CDlgSlipWindow::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgSlipWindow)
DDX_Control(pDX, IDC_BUTScout, m_ConScout);
DDX_Control(pDX, IDC_EDIT3, m_ConSpaResCap);
DDX_Control(pDX, IDC_EDIT2, m_ConRoadWidth);
DDX_Control(pDX, IDC_EDIT1, m_ConElmPar);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgSlipWindow, CDialog)
//{{AFX_MSG_MAP(CDlgSlipWindow)
ON_BN_CLICKED(IDC_BUTScout, OnBUTScout)
ON_EN_SETFOCUS(IDC_EDIT2, OnSetfocusRoadWidth)
ON_EN_SETFOCUS(IDC_EDIT3, OnSetfocusSpaResCap)
ON_EN_CHANGE(IDC_EDIT2, OnChangeRoadWidth)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgSlipWindow message handlers
void CDlgSlipWindow::ImageOperationCase()
{
switch(eImgOperation)
{
case eDlgPars:
m_ConElmPar.EnableWindow(FALSE);
m_ConRoadWidth.EnableWindow(TRUE);
m_ConSpaResCap.EnableWindow(TRUE);
case eBDScout:
//m_ConScout.EnableAutomation();
// m_ConScout.OnOK();
BasDollar = nElmPar;
}
}
void CDlgSlipWindow::OnBUTScout()
{
ImageOperationCase();
}
void CDlgSlipWindow::OnSetfocusRoadWidth()
{
ImageOperationCase();
}
void CDlgSlipWindow::OnSetfocusSpaResCap()
{
ImageOperationCase();
}
void CDlgSlipWindow::OnChangeRoadWidth()
{
m_ConRoadWidth.SetFocus();
//获取用户输入的道路宽度值的字节长度
nMax1 = m_ConRoadWidth.GetWindowTextLength()+1;
//获取用户输入的道路宽度值
m_ConRoadWidth.GetWindowText(ChRoadWidth,nMax1);
//将输入的字符串转换成整型
nRoadWidth = strtol(ChRoadWidth,&stop,10);
m_ConSpaResCap.SetFocus();
//获取用户输入的影像分辨率值的长度
nMax2 = m_ConSpaResCap.GetWindowTextLength()+1;
//获取用户输入的影像分辨率值
m_ConSpaResCap.GetWindowText(ChSpaResCap,nMax2);
//将输入的字符串转换为浮点型数值
dSpaResCap = atof(ChSpaResCap);
//计算道路基元的尺寸
nElmPar = (int)(nRoadWidth/dSpaResCap);
//将计算结果转换为字符串
_ltoa(nElmPar,ElmParResult,10);
//在道路基元编辑框中输出计算结果
m_ConElmPar.SetWindowText(ElmParResult);
}