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);	 
}