Files
envi-code/SourceCode/Code2026/tg_shs/shs_TwtPump/DrawWaterTankDlg.cpp
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

595 lines
16 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// DrawWaterTankDlg.cpp : implementation file
//
#include "stdafx.h"
#include "DrawWaterTankDlg.h"
#include "SelWaterTankDlg.h"
#include <dbrect.h>
#include <dbWaterTank.h>
#include <tapi.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//extern TARCH_IMPEXP int DragMovePickSet(PickSet &ss, const TCHAR *pszPrompt, const XPoint &ptBase, XPoint &ptFinal);
//extern GEOAPI int DragPickSet1(PickSet &ss, XPoint &ptBase);
/////////////////////////////////////////////////////////////////////////////
// CDrawWaterTankDlg dialog
void DrawDashLine(XPoint pt1, XPoint pt2, double nScale)
{
XLine line5(pt1, pt2, 1);
line5.Make();
Entity entLast;
entLast.GetLast();
AcDbObjectId eId;
AcDbEntity *pEnt = NULL;
acdbGetObjectId(eId, entLast);
acdbOpenObject(pEnt, eId, AcDb::kForWrite);
if(!pEnt)
return;
pEnt->setLinetype(_T("DASH"));
pEnt->setLinetypeScale(nScale);
pEnt->close();
}
//***************************************************************************************************
// 编辑水箱
//***************************************************************************************************
int EditWaterTank(AcDbObjectId id)
{
if(!id)
return RTERROR;
int iLength(0), iWidth(0), iHeight(0);
CTemporaryResourceOverride vTemp;
CDrawWaterTankDlg dlg;
OPENOBJ_BEGIN(id, AcDb::kForRead, TDbWaterTank, pEquip);
if(pEquip){
dlg.m_nHeight = pEquip->GetHeight();
dlg.m_nLength = pEquip->GetLength();
dlg.m_nWidth = pEquip->GetWidth();
dlg.m_bNeedHole = pEquip->IsNeedHole();
dlg.m_bNeedSleeper = pEquip->IsNeedSleeper();
dlg.m_iNum = pEquip->GetSleeperNum();
dlg.m_nHoleWidth = pEquip->GetHoleWidth();
dlg.m_nLowLine = pEquip->GetLowLine();
dlg.m_nHighLine = pEquip->GetHighLine();
dlg.m_iSleepPos = pEquip->GetSleeperPos();
dlg.m_iShape = pEquip->GetShape();
dlg.m_iType = pEquip->GetShowType();
dlg.m_dSleeperHeight = pEquip->GetSleeperWidth(); //枕木高
dlg.m_nInEle = pEquip->GetWaterInEle();
dlg.m_nOutEle = pEquip->GetRushEle();
dlg.m_nHoleType = pEquip->HoleIsRect();
dlg.m_dSleeperWidth = pEquip->GetSpare(); //枕木宽 modified by cet 2009.11.11
dlg.m_dSleeperLen = pEquip->GetSleeperLen(); // 枕木长 cet 2011.4.22 add
dlg.m_dTankElev = pEquip->GetElev();// zxl 2012.12.03 add
}
OPENOBJ_END();
if(dlg.DoModal() != IDOK)
return 1;
OPENOBJ_BEGIN(id, AcDb::kForWrite, TDbWaterTank, pEquip);
if(pEquip){
pEquip->SetHeight(dlg.m_nHeight);
pEquip->SetLength(dlg.m_nLength);
pEquip->SetWidth(dlg.m_nWidth);
pEquip->SetNeedHole(dlg.m_bNeedHole);
pEquip->SetNeedSleeper(dlg.m_bNeedSleeper);
pEquip->SetSleeperNum(dlg.m_iNum);
pEquip->SetHoleWidth(dlg.m_nHoleWidth);
pEquip->SetLowLine(dlg.m_nLowLine);
pEquip->SetHighLine(dlg.m_nHighLine);
pEquip->SetSleeperPos(dlg.m_iSleepPos);
pEquip->SetShape(dlg.m_iShape);
pEquip->SetShowType(dlg.m_iType);
pEquip->SetSleeperWidth(dlg.m_dSleeperHeight); //枕木高
pEquip->SetWaterInEle(dlg.m_nInEle);
pEquip->SetRushEle(dlg.m_nOutEle);
pEquip->SetHoleRect(dlg.m_nHoleType);
pEquip->SetSpare(dlg.m_dSleeperWidth); //枕木宽 modified by cet 2009.11.11
pEquip->SetSleeperLen(dlg.m_dSleeperLen); // 枕木长 cet 2011.4.22 add
pEquip->SetElev(dlg.m_dTankElev);// zxl 2012.12.03 add
//调整人孔位置
TDbRect rect1;
XPoint ptIns;
ptIns = pEquip->GetLocation();
double nLength = dlg.m_nLength * 1000;
double nWidth = dlg.m_nWidth * 1000;
double nHoleWidth = dlg.m_nHoleWidth * 1000;
rect1.SetSizeX(nLength);
rect1.SetSizeY(nWidth);
rect1.SetCenter(ptIns);
rect1.SetRotation(pEquip->GetRotation()); // cet 2011.9.15 add
if(dlg.m_iShape == 1)
{
XPoint ptHole;
XPoint ptHoleBefore = pEquip->GetHoleInsert();
double dMin = ptHoleBefore.Distance2d(rect1.GetUpLeft());
ptHole = rect1.GetUpLeft();
ptHole = Wcs2Ucs(ptHole); // cet 2011.9.15
ads_polar(ptHole, 0, nHoleWidth/2, ptHole);
ads_polar(ptHole, PI/2, -nHoleWidth/2, ptHole);
ptHole = Ucs2Wcs(ptHole); // cet 2011.9.15
if (ptHoleBefore.Distance2d(rect1.GetUpRight()) < dMin)
{
ptHole = rect1.GetUpRight();
ptHole = Wcs2Ucs(ptHole); // cet 2011.9.15
ads_polar(ptHole, 0, -nHoleWidth/2, ptHole);
ads_polar(ptHole, PI/2, -nHoleWidth/2, ptHole);
ptHole = Ucs2Wcs(ptHole); // cet 2011.9.15
dMin = ptHoleBefore.Distance2d(rect1.GetUpRight());
}
if (ptHoleBefore.Distance2d(rect1.GetLowLeft()) < dMin)
{
ptHole = rect1.GetLowLeft();
ptHole = Wcs2Ucs(ptHole); // cet 2011.9.15
ads_polar(ptHole, 0, nHoleWidth/2, ptHole);
ads_polar(ptHole, PI/2, nHoleWidth/2, ptHole);
ptHole = Ucs2Wcs(ptHole); // cet 2011.9.15
dMin = ptHoleBefore.Distance2d(rect1.GetLowLeft());
}
if (ptHoleBefore.Distance2d(rect1.GetLowRight()) < dMin)
{
ptHole = rect1.GetLowRight();
ptHole = Wcs2Ucs(ptHole); // cet 2011.9.15
ads_polar(ptHole, 0, -nHoleWidth/2, ptHole);
ads_polar(ptHole, PI/2, nHoleWidth/2, ptHole);
ptHole = Ucs2Wcs(ptHole); // cet 2011.9.15
dMin = ptHoleBefore.Distance2d(rect1.GetLowRight());
}
pEquip->SetHoleInsert(ptHole);
}
}
OPENOBJ_END();
return 1;
}
void DrawWaterTank()
{
CTemporaryResourceOverride over;
CDrawWaterTankDlg dlg;
if(dlg.DoModal() != IDOK)
return;
XPoint ptIns, ptHole;
if(ads_getpoint(NULL, _T("\n请点取水箱插入点<退出>:"), ptIns) != RTNORM)
return;
ptIns = Ucs2Wcs(ptIns);
InitLayer(LAY_TWT_WATERTANK);
//XPushVarStr clayer(_T("CLAYER"), LAY_TWT_WATERTANK); cet 2011.10.11 del 导致产生"CLAYER"图层
double nLength = dlg.m_nLength * 1000;
double nWidth = dlg.m_nWidth * 1000;
double nHoleWidth = dlg.m_nHoleWidth * 1000;
TDbRect rect1;
rect1.SetSizeX(nLength);
rect1.SetSizeY(nWidth);
rect1.SetCenter(ptIns);
rect1.SetRotation(Ucs2Wcs(0.0)); // cet 2011.9.15 add
ptHole = rect1.GetUpLeft();
ptHole = Wcs2Ucs(ptHole); // cet 2011.9.15 add
ads_polar(ptHole, 0, nHoleWidth/2, ptHole);
ads_polar(ptHole, PI/2, -nHoleWidth/2, ptHole);
ptHole = Ucs2Wcs(ptHole); // cet 2011.9.15 add
CString csDwb = g_csDwbPath + _T("TwtSys");
XString xsTmp;
if(LoadDwbBlock(csDwb, _T("00000415"), xsTmp) != RTNORM) //锅盖
return;
TDbWaterTank *pTank = new TDbWaterTank;
pTank->SetLocation(ptIns);
if(dlg.m_iShape != 1)
pTank->SetHoleInsert(ptIns);
else
pTank->SetHoleInsert(ptHole);
pTank->SetDashLayer(InitDashLayer(_T("TWT_DASH")));
pTank->SetHeight(dlg.m_nHeight);
pTank->SetWidth(dlg.m_nWidth);
pTank->SetLength(dlg.m_nLength);
pTank->SetNeedHole(dlg.m_bNeedHole);
pTank->SetNeedSleeper(dlg.m_bNeedSleeper);
pTank->SetSleeperPos(dlg.m_iSleepPos);
pTank->SetLowLine(dlg.m_nLowLine);
pTank->SetHighLine(dlg.m_nHighLine);
pTank->SetSleeperNum(dlg.m_iNum);
pTank->SetShowType(dlg.m_iType);
pTank->SetElev(dlg.m_dTankElev);// zxl 2012.12.03 add
pTank->SetBlock3d(GetBlockIdFromString(xsTmp));
pTank->SetShape(dlg.m_iShape);
pTank->SetSleeperWidth(dlg.m_dSleeperHeight); //枕木高
pTank->SetSpare(dlg.m_dSleeperWidth); //枕木宽 modified by cet 2009.11.11
pTank->SetSleeperLen(dlg.m_dSleeperLen); // 枕木长 cet 2011.4.22 addd
pTank->SetHoleWidth(dlg.m_nHoleWidth);
pTank->SetHoleRect(dlg.m_nHoleType);
pTank->SetRotation(Ucs2Wcs(0.0)); // cet 2011.8.29 add
pTank->setLayer(LAY_TWT_WATERTANK); // cet 2011.10.11 add
AcDbObjectId id = AddToCurrentSpace(pTank, Adesk::kTrue);
}
double CDrawWaterTankDlg::m_nHeight = 2;
double CDrawWaterTankDlg::m_nLength = 3;
double CDrawWaterTankDlg::m_nWidth = 2;
int CDrawWaterTankDlg::m_iType = 0;
int CDrawWaterTankDlg::m_iShape = 1; // cet 2011.9.14 add
double CDrawWaterTankDlg::m_dTankElev = 0.0;
CString CDrawWaterTankDlg::m_csCubage = _T("0.5");
CDrawWaterTankDlg::CDrawWaterTankDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDrawWaterTankDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CDrawWaterTankDlg)
m_bNeedHole = TRUE;
m_bNeedSleeper = TRUE;
m_iNum = 3;
m_iSleepPos = 0;
m_nHighLine = 1.8;
m_nHoleWidth = 0.5;
m_nLowLine = 0;
m_nInEle = 0.0;
m_nOutEle = 0.0;
m_nHoleType = 0;
m_dSleeperHeight = 0.5;
m_dSleeperWidth = 0.2;
m_dSleeperLen = 0.0;
//}}AFX_DATA_INIT
}
void CDrawWaterTankDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDrawWaterTankDlg)
DDX_Control(pDX, IDC_SPIN_NUM, m_spinNum);
DDX_Check(pDX, IDC_CHECK_NEED_HOLE, m_bNeedHole);
DDX_Check(pDX, IDC_CHECK_NEED_SLEEPER, m_bNeedSleeper);
DDX_Text(pDX, IDC_EDIT_NUM, m_iNum);
DDX_CBIndex(pDX, IDC_COMBO_POS2, m_iSleepPos);
DDX_Text(pDX, IDC_EDIT_HIGH_LINE, m_nHighLine);
DDX_Text(pDX, IDC_EDIT_HOLE_WIDTH, m_nHoleWidth);
DDX_Text(pDX, IDC_EDIT_LOW_LINE, m_nLowLine);
DDX_Text(pDX, IDC_EDIT_IN_ELE, m_nInEle);
DDX_Text(pDX, IDC_EDIT_OUT_ELE, m_nOutEle);
DDX_Radio(pDX, IDC_RADIORECTAN, m_nHoleType);
DDX_Text(pDX, IDC_EDIT_SLEEPER_HEIGHT, m_dSleeperHeight);
DDX_Text(pDX, IDC_EDIT_SLEEPER_WIDTH, m_dSleeperWidth);
DDX_Text(pDX, IDC_EDIT_SLEEPER_LEN, m_dSleeperLen);
DDX_Radio(pDX, IDC_RADIO_SHAPE1, m_iShape);
DDX_Radio(pDX, IDC_RADIO_TYPE1, m_iType);
DDX_Text(pDX, IDC_EDIT_CUBAGE, m_csCubage);
DDX_Text(pDX, IDC_EDIT_ELEV, m_dTankElev);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDrawWaterTankDlg, CDialog)
//{{AFX_MSG_MAP(CDrawWaterTankDlg)
ON_BN_CLICKED(IDC_RADIO_SHAPE1, OnRadioShape1)
ON_BN_CLICKED(IDC_RADIO_SHAPE2, OnRadioShape2)
ON_BN_CLICKED(IDC_BUTTON_STANDARD, OnButtonStandard)
ON_BN_CLICKED(IDC_CHECK_NEED_HOLE, OnCheckNeedHole)
ON_BN_CLICKED(IDC_CHECK_NEED_SLEEPER, OnCheckNeedSleeper)
ON_BN_CLICKED(IDC_RADIO_SHAPE3, OnRadioShape3)
ON_EN_CHANGE(IDC_EDIT_LENGTH, OnChangeEditLength)
ON_EN_CHANGE(IDC_EDIT_WIDTH, OnChangeEditWidth)
ON_CBN_SELCHANGE(IDC_COMBO_POS2, OnSelchangeComboPos2)
ON_EN_CHANGE(IDC_EDIT_HEIGHT, OnChangeEditHeight)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDrawWaterTankDlg message handlers
BOOL CDrawWaterTankDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_spinNum.SetRange(1, 10);
ResetCheck();
CWnd *pWnd1 = GetDlgItem(IDC_CHECK_NEED_SLEEPER);
if(m_iShape == 0 || m_iShape == 2)
pWnd1->EnableWindow(FALSE);
else
pWnd1->EnableWindow(TRUE);
ResetEdit();
// cet 2011.6.7 add
UpdateTankData();
// cet 2011.4.22 add 枕木长未被赋值时
if (m_iSleepPos == 0 && fabs(m_dSleeperLen) < g_fZero)
{
OnChangeEditLength();
}
else if (m_iSleepPos == 1 && fabs(m_dSleeperLen) < g_fZero)
{
OnChangeEditWidth();
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
// 更新水箱数据 zxxl 2012.03.28 add
void CDrawWaterTankDlg::UpdateTankData()
{
CWnd *pWnd2 = GetDlgItem(IDC_EDIT_HEIGHT);
CWnd *pWnd3 = GetDlgItem(IDC_EDIT_LENGTH);
CWnd *pWnd4 = GetDlgItem(IDC_EDIT_WIDTH);
CString sTemp;
if (pWnd2 != NULL)
{
sTemp.Format(_T("%.3f"), m_nHeight);
sTemp.TrimRight(_T("0"));
sTemp.TrimRight(_T("."));
pWnd2->SetWindowText(sTemp);
}
if (pWnd3 != NULL)
{
sTemp.Format(_T("%.3f"), m_nLength);
sTemp.TrimRight(_T("0"));
sTemp.TrimRight(_T("."));
pWnd3->SetWindowText(sTemp);
}
if (pWnd4 != NULL)
{
sTemp.Format(_T("%.3f"), m_nWidth);
sTemp.TrimRight(_T("0"));
sTemp.TrimRight(_T("."));
pWnd4->SetWindowText(sTemp);
}
}
void CDrawWaterTankDlg::OnRadioShape1()
{
ResetEdit();
}
void CDrawWaterTankDlg::OnRadioShape2()
{
ResetEdit();
}
void CDrawWaterTankDlg::OnRadioShape3()
{
ResetEdit();
}
void CDrawWaterTankDlg::OnButtonStandard()
{
CTemporaryResourceOverride vTemp;
CSelWaterTankDlg dlg;
// zxl 2012.03.28 add 水箱类型联动
if (m_iShape == 0 || m_iShape == 2)
{
dlg.m_iShape = 0;
}
else
{
dlg.m_iShape = 1;
}
if(dlg.DoModal() != IDOK)
return;
m_csCubage = dlg.m_csCubage;
if (!((m_iShape == 0 || m_iShape == 2) && dlg.m_iShape == 0))
{
m_iShape = dlg.m_iShape;
}
if(m_iShape == 0 || m_iShape == 2){
m_nLength = (double)dlg.m_iRadius/1000;
m_nHeight = (double)dlg.m_iHeight/1000;
m_bNeedHole = FALSE;
}
else{
m_nLength = (double)dlg.m_iLength/1000;
m_nWidth = (double)dlg.m_iWidth/1000;
m_nHeight = (double)dlg.m_iHeight/1000;
}
UpdateData(FALSE);
// zxl 2012.03.28 add 显示水箱数据
UpdateTankData();
ResetEdit();
}
void CDrawWaterTankDlg::ResetEdit()
{
UpdateData(TRUE);
CWnd *pWnd1 = GetDlgItem(IDC_CHECK_NEED_SLEEPER);
CWnd *pWnd2 = GetDlgItem(IDC_STATIC_TEXT);
CWnd *pWnd3 = GetDlgItem(IDC_STATIC_TEXT2);
// CWnd *pWnd4 = GetDlgItem(IDC_STATIC_TEXT3);
// if(m_iShape == 2)
// pWnd4->SetWindowText("水箱长(m):");
// else
// pWnd4->SetWindowText("水箱高(m):");
if(m_iShape == 0 || m_iShape == 2){
pWnd1->EnableWindow(FALSE);
pWnd2->SetWindowText(_T("水箱直径:"));
pWnd3->SetWindowText(_T("支座高度:"));
if(m_nWidth > 1)
m_nWidth = 0.5;
m_bNeedSleeper = FALSE;
}
else{
pWnd1->EnableWindow(TRUE);
pWnd2->SetWindowText(_T("水箱长(m):"));
pWnd3->SetWindowText(_T("水箱宽(m):"));
if(m_nWidth < 1)
m_nWidth = 2;
m_bNeedSleeper = TRUE;
}
UpdateData(FALSE);
ResetCheck();
}
void CDrawWaterTankDlg::OnCheckNeedHole()
{
ResetCheck();
}
void CDrawWaterTankDlg::OnCheckNeedSleeper()
{
ResetCheck();
}
void CDrawWaterTankDlg::ResetCheck()
{
UpdateData(TRUE);
CWnd *pWnd1 = GetDlgItem(IDC_EDIT_HOLE_WIDTH);
// CWnd *pWnd2 = GetDlgItem(IDC_COMBO_POS);
CWnd *pWnd3 = GetDlgItem(IDC_EDIT_NUM);
CWnd *pWnd4 = GetDlgItem(IDC_SPIN_NUM);
CWnd *pWnd5 = GetDlgItem(IDC_COMBO_POS2);
CWnd *pWnd6 = GetDlgItem(IDC_EDIT_SLEEPER_HEIGHT);
CWnd *pWnd7 = GetDlgItem(IDC_EDIT_SLEEPER_WIDTH);
CWnd *pWnd8 = GetDlgItem(IDC_EDIT_SLEEPER_LEN); // cet 2011.4.22 add 枕木长
if(!m_bNeedHole){
pWnd1->EnableWindow(FALSE);
// pWnd2->EnableWindow(FALSE);
}
else{
pWnd1->EnableWindow(TRUE);
// pWnd2->EnableWindow(TRUE);
}
if(m_bNeedSleeper){
pWnd3->EnableWindow(TRUE);
pWnd4->EnableWindow(TRUE);
pWnd5->EnableWindow(TRUE);
pWnd6->EnableWindow(TRUE);
pWnd7->EnableWindow(TRUE);
pWnd8->EnableWindow(TRUE); // cet 2011.4.22 add
}
else{
pWnd3->EnableWindow(FALSE);
pWnd4->EnableWindow(FALSE);
pWnd5->EnableWindow(FALSE);
pWnd6->EnableWindow(FALSE);
pWnd7->EnableWindow(FALSE);
pWnd8->EnableWindow(FALSE); // cet 2011.4.22 add
}
}
//added by cet 2009.11.11
void CDrawWaterTankDlg::OnOK()
{
UpdateData();
// cet 2011.6.7 add
CWnd *pWnd2 = GetDlgItem(IDC_EDIT_HEIGHT);
CWnd *pWnd3 = GetDlgItem(IDC_EDIT_LENGTH);
CWnd *pWnd4 = GetDlgItem(IDC_EDIT_WIDTH);
CString sTemp;
if (pWnd2 != NULL)
{
pWnd2->GetWindowText(sTemp);
m_nHeight = _tstof(sTemp);
}
if (pWnd3 != NULL)
{
pWnd3->GetWindowText(sTemp);
m_nLength = _tstof(sTemp);
}
if (pWnd4 != NULL)
{
pWnd4->GetWindowText(sTemp);
m_nWidth = _tstof(sTemp);
}
if ((m_nWidth - (m_iNum - 1) * m_dSleeperWidth) < 0)
{
MessageBox(_T("枕木数宽度和应小于水箱宽度!"));
return;
}
CDialog::OnOK();
}
void CDrawWaterTankDlg::OnChangeEditLength()
{
UpdateData(TRUE);
// cet 2011.6.7 add
CWnd *pWnd = GetDlgItem(IDC_EDIT_LENGTH);
if (pWnd != NULL)
{
CString sTemp;
pWnd->GetWindowText(sTemp);
m_nLength = _tstof(sTemp);
}
if(m_iSleepPos == 0) // 枕木位置:水平
{
m_dSleeperLen = m_nLength + 0.1;
}
UpdateData(FALSE);
}
void CDrawWaterTankDlg::OnChangeEditWidth()
{
UpdateData(TRUE);
// cet 2011.6.7 add
CWnd *pWnd = GetDlgItem(IDC_EDIT_WIDTH);
if (pWnd != NULL)
{
CString sTemp;
pWnd->GetWindowText(sTemp);
m_nWidth = _tstof(sTemp);
}
if(m_iSleepPos == 1) // 枕木位置:垂直
{
m_dSleeperLen = m_nWidth + 0.1;
}
UpdateData(FALSE);
}
void CDrawWaterTankDlg::OnSelchangeComboPos2()
{
UpdateData(TRUE);
if (m_iSleepPos == 0)
{
m_dSleeperLen = m_nLength + 0.1;
}
else if (m_iSleepPos == 1)
{
m_dSleeperLen = m_nWidth + 0.1;
}
UpdateData(FALSE);
}
void CDrawWaterTankDlg::OnChangeEditHeight()
{
UpdateData(TRUE);
CWnd *pWnd = GetDlgItem(IDC_EDIT_HEIGHT);
if (pWnd != NULL)
{
CString sTemp;
pWnd->GetWindowText(sTemp);
m_nHeight = _tstof(sTemp);
}
UpdateData(FALSE);
}