Files
envi-code/SourceCode/Code2026/tg_shs/shs_kerncmd/MultiStairDlg.cpp
T
2026-09-28 15:28:50 +08:00

611 lines
17 KiB
C++

// MultiStairDlg.cpp : implementation file
//
#include "stdafx.h"
#include "MultiStairDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMultiStairDlg dialog
CString CMultiStairDlg::m_strRailHeight = _T("900");
CString CMultiStairDlg::m_strRailWidth = _T("60");
CString CMultiStairDlg::m_strRailDistToSide = _T("0");
BOOL CMultiStairDlg::m_bAutoRail=FALSE;
BOOL CMultiStairDlg::m_bLeftHand=FALSE;
BOOL CMultiStairDlg::m_bRightHand=FALSE;
int CMultiStairDlg::m_nBaseType=0;
int CMultiStairDlg::m_nMakeMode = 0;
int CMultiStairDlg::m_nStairFlag = 1;
//add by whl on 03/08/15
int CMultiStairDlg::m_nStepNum1 = 20;
CString CMultiStairDlg::m_strStepHeight1;
CString CMultiStairDlg::m_strStairHeight1;
BOOL CMultiStairDlg::m_bgroup6Status =FALSE;
//新增成员初始化
CString CMultiStairDlg::m_strFirstStairRailDist=_T("60");
CString CMultiStairDlg::m_strEndStairRailDist=_T("60");
BOOL CMultiStairDlg::m_bUpDir=TRUE;
CString CMultiStairDlg::m_strSectHeight=_T("500");
//-------------------------------------------------
//BOOL CMultiStairDlg::s_bOpenGroup1=TRUE;
//BOOL CMultiStairDlg::s_bOpenGroup2=FALSE;
//BOOL CMultiStairDlg::s_bOpenGroup3=FALSE;
//BOOL CMultiStairDlg::s_bOpenGroup4=TRUE;
CMultiStairDlg::CMultiStairDlg(CWnd* pParent /*=NULL*/)
: CLineStairDlg(CMultiStairDlg::IDD, pParent),m_group6(0)//,
// m_groups(0),m_group1(WG_ST_HORZ),m_group2(WG_ST_HORZ),m_group3(WG_ST_HORZ),m_group4(WG_ST_HORZ)
{
//{{AFX_DATA_INIT(CMultiStairDlg)
m_bLeftWall=FALSE;
m_bRightWall=FALSE;
//}}AFX_DATA_INIT
//add by whl on 03/08/15
//Swap In
Exchange(m_strStairHeight,m_strStairHeight1);
Exchange(m_strStepHeight,m_strStepHeight1);
Exchange(m_nStepNum,m_nStepNum1);
m_strStairHeight=Dist2Str(DocGetLHeight());
m_strStepHeight.Format(_T("%.2f"),DocGetLHeight()/m_nStepNum);//modified on 03/07/15 by whl
m_bNeed2D0=m_bNeed2D;
m_bNeed3D0=m_bNeed3D;
m_bNeed2D=m_bNeed3D=TRUE;
}
CMultiStairDlg::~CMultiStairDlg()
{
//多跑楼梯对这两个静态项不影响
m_bNeed2D=m_bNeed2D0;
m_bNeed3D=m_bNeed3D0;
//add by whl on 03/08/15
//Swap Out
Exchange(m_strStairHeight,m_strStairHeight1);
Exchange(m_strStepHeight,m_strStepHeight1);
Exchange(m_nStepNum,m_nStepNum1);
}
void CMultiStairDlg::DoDataExchange(CDataExchange* pDX)
{
CLineStairDlg::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMultiStairDlg)
DDX_Radio(pDX, IDC_DRAG_MAKE, m_nMakeMode);
DDX_Check(pDX, IDC_LEFT_WALL, m_bLeftWall);
DDX_Check(pDX, IDC_RIGHT_WALL, m_bRightWall);
//}}AFX_DATA_MAP
DDX_Text(pDX, IDC_RAIL_HEIGHT, m_strRailHeight);
DDX_Text(pDX, IDC_RAIL_WIDTH, m_strRailWidth);
DDX_Text(pDX, IDC_RAIL_DISTTOSIDE, m_strRailDistToSide);
DDX_Check(pDX, IDC_AUTORAIL, m_bAutoRail);
DDX_Check(pDX, IDC_HAS_LHAND, m_bLeftHand);
DDX_Check(pDX, IDC_HAS_RHAND, m_bRightHand);
DDX_Radio(pDX, IDC_LEFT_BASE, m_nBaseType);
DDX_Radio(pDX, IDC_RADIO_FIRST, m_nStairFlag);
DDX_Control(pDX,IDC_GROUP6,m_group6);
DDX_Control(pDX,IDC_SPIN1,m_ctrlSectNum);
DDX_GroupStatus(pDX,IDC_GROUP6,m_bgroup6Status);
//新增内容的映射
// [7/23/2008 nsh]
DDX_Check(pDX,IDC_CHECK_UPDIR,m_bUpDir);//标注上楼方向
DDX_Text(pDX,IDC_EDIT_FIRSTDIST,m_strFirstStairRailDist);//首段扶手伸出
DDX_Text(pDX,IDC_EDIT_ENDDIST,m_strEndStairRailDist);//尾端扶手伸出
DDX_Text(pDX,IDC_EDIT_SECTHEIGHT,m_strSectHeight);//剖切高度
DDX_Text(pDX,IDC_EDIT1,m_iSectNum);//剖切步数
//-----------------------------------------
// [10/11/2007 nsh]
//DDX_Control(pDX,IDC_GROUP1,m_group1);
//DDX_Control(pDX,IDC_GROUP2,m_group2);
//DDX_Control(pDX,IDC_GROUP3,m_group3);
//DDX_Control(pDX,IDC_GROUP4,m_group4);
//DDX_GroupStatus(pDX,IDC_GROUP1,s_bOpenGroup1);
//DDX_GroupStatus(pDX,IDC_GROUP2,s_bOpenGroup2);
//DDX_GroupStatus(pDX,IDC_GROUP3,s_bOpenGroup3);
//DDX_GroupStatus(pDX,IDC_GROUP4,s_bOpenGroup4);
}
BEGIN_MESSAGE_MAP(CMultiStairDlg, CLineStairDlg)
//{{AFX_MSG_MAP(CMultiStairDlg)
// NOTE: the ClassWizard will add message map macros here
ON_BN_CLICKED(IDC_STAIR_CHECK_HEIGHT,OnClickSW)
//新增事件的操作
ON_BN_CLICKED(IDC_CHECK_UPDIR,OnClickUpDir)
ON_EN_CHANGE(IDC_EDIT_FIRSTDIST,OnChangeFirstRailDist)
ON_EN_CHANGE(IDC_EDIT_ENDDIST,OnChangeEndRailDist)
ON_EN_CHANGE(IDC_EDIT_SECTHEIGHT,OnChangeSectHeight)
ON_EN_CHANGE(IDC_EDIT1,OnChangeSectNum)//剖切步数
//坡道情况下的处理
ON_BN_CLICKED(IDC_AS_ASCENT,OnClickAsCent)
ON_BN_CLICKED(IDC_HAS_RHAND,OnClickHasSlent)
ON_BN_CLICKED(IDC_ON_GROUND,OnClickOnground)
//add by xlc on 090220
ON_EN_KILLFOCUS(IDC_RAIL_DISTTOSIDE,OnRailDisttoSideKF)
ON_EN_KILLFOCUS(IDC_RAIL_HEIGHT, OnRailHeightKF)
ON_EN_KILLFOCUS(IDC_RAIL_WIDTH, OnRailWidthKF)
ON_BN_CLICKED(IDC_HAS_LHAND,OnLeftHandClk)
ON_BN_CLICKED(IDC_HAS_RHAND,OnRightHandClk)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BOOL CMultiStairDlg::OnInitDialog()
{
BOOL res=CLineStairDlg::OnInitDialog();
//m_groups.Append(&m_group1);
//m_groups.Append(&m_group2);
//m_groups.Append(&m_group3);
//m_groups.Append(&m_group3);
//m_groups.SetMaxExtent(250);
//CRect rect;
//GetWindowRect(&rect);
//SetWindowPos(NULL,rect.left,rect.top,rect.Width(),rect.Height()-140,0);
//AddTip(IDC_STAIR_LENGTH_STATIC2,_T("梯段总长不包括休息平台长度,其始终等于所有踏步的宽度总和,其变化将使踏步宽度同比例变化"));
AddTip(IDC_DRAG_MAKE,_T("通过鼠标拖动、点击方式来动态控制楼梯平面路径的输入"));
AddTip(IDC_MATCH_PATH,_T("通过选择已有的楼梯平面路径来自动生成楼梯模型,路径的节点数需为偶数"));
//--------------------------
if (m_bAsAscent)
{
this->GetDlgItem(IDC_EDIT1)->ShowWindow(SW_HIDE);
this->GetDlgItem(IDC_STATIC_SECTNUM)->ShowWindow(SW_HIDE);
this->GetDlgItem(IDC_SPIN1)->ShowWindow(SW_HIDE);
this->GetDlgItem(IDC_EDIT_SECTHEIGHT)->ShowWindow(SW_SHOW);
this->GetDlgItem(IDC_STATIC_SECTHEIGHT)->ShowWindow(SW_SHOW);
this->GetDlgItem(IDC_HAS_SLANT)->EnableWindow(TRUE);
this->GetDlgItem(IDC_ON_GROUND)->EnableWindow(TRUE);
}
else
{
this->GetDlgItem(IDC_EDIT1)->ShowWindow(SW_SHOW);
this->GetDlgItem(IDC_STATIC_SECTNUM)->ShowWindow(SW_SHOW);
this->GetDlgItem(IDC_SPIN1)->ShowWindow(SW_SHOW);
this->GetDlgItem(IDC_EDIT_SECTHEIGHT)->ShowWindow(SW_HIDE);
this->GetDlgItem(IDC_STATIC_SECTHEIGHT)->ShowWindow(SW_HIDE);
this->GetDlgItem(IDC_HAS_SLANT)->EnableWindow(FALSE);
this->GetDlgItem(IDC_ON_GROUND)->EnableWindow(FALSE);
}
m_ctrlSectNum.SetRange(1,m_nStepNum);
//-----------------------------
if (!(m_bLeftHand||m_bRightHand))
{
GetDlgItem(IDC_AUTORAIL)->EnableWindow(FALSE);
}
return res;
}
AcDbEntity*CMultiStairDlg::NewObject()
{
TDbEntity*pObj=new TDbMultiStair;
return pObj;
}
void CMultiStairDlg::Dlg2Obj(AcDbEntity*pObj)
{
TDbMultiStair *pStep=TDbMultiStair::cast(pObj);
ASSERT(pStep);
pStep->SetAscent(m_bAsAscent);
if (m_bAsAscent)//modified by whl on 03/08/15
{
pStep->SetSlant(m_bHasSlant);
pStep->SetOnGround(m_bOnGround);
}
pStep->SetElevation(_tstof(m_strElev));
pStep->SetStairHeight(_tstof(m_strStairHeight));
pStep->SetStairWidth(_tstof(m_strStairWidth));
pStep->SetStepWidth(_tstof(m_strStepWidth));
pStep->SetStepHeight(_tstof(m_strStepHeight));
pStep->SetRailHeight(_tstof(m_strRailHeight));
pStep->SetRailWidth(_tstof(m_strRailWidth));
pStep->SetRailDistToSide(_tstof(m_strRailDistToSide));
pStep->SetAutoRail(m_bAutoRail);
pStep->SetPathSide(m_nBaseType);
pStep->SetHandRail(OFFSET_LEFT, m_bLeftHand);
pStep->SetHandRail(OFFSET_RIGHT, m_bRightHand);
pStep->SetSideBeam(OFFSET_LEFT, m_bNeedLeft);
pStep->SetSideBeam(OFFSET_RIGHT, m_bNeedRight);
pStep->SetStairFlag(m_nStairFlag);
pStep->SetAlongWall(0, m_bLeftWall);
pStep->SetAlongWall(1, m_bRightWall);
//新增
pStep->SetRailDist(::_tstof(m_strFirstStairRailDist));
pStep->SetRailDistEnd(::_tstof(m_strEndStairRailDist));
if (m_bAsAscent)
pStep->SetSectElev(::_tstof(m_strSectHeight));
else
pStep->SetSectStepNum(m_iSectNum);
pStep->SetArrow(m_bUpDir);
}
void CMultiStairDlg::Obj2Dlg(AcDbEntity *pObj)//modified by whl on 03/08/15
{
TDbMultiStair *pStep=TDbMultiStair::cast(pObj);
ASSERT(pStep);
m_bAsAscent=pStep->IsAscent();
if (m_bAsAscent)
{
m_bHasSlant=pStep->HasSlant();
m_bOnGround=pStep->IsOnGround();
}
m_strElev=Dist2Str(pStep->GetElevation());
m_strStairHeight=Dist2Str(pStep->GetStairHeight());
m_strStairWidth=Dist2Str(pStep->GetStairWidth());
m_strRailHeight=Dist2Str(pStep->GetRailHeight());
m_strRailWidth=Dist2Str(pStep->GetRailWidth());
m_strStepWidth=Dist2Str(pStep->GetStepWidth());
m_strStepHeight=Dist2Str(pStep->GetStepHeight());
m_strRailDistToSide=Dist2Str(pStep->GetRailDistToSide());
m_bAutoRail=pStep->IsAutoRail();
m_nBaseType=pStep->GetPathSide();
m_bLeftHand=pStep->HasHandRail(OFFSET_LEFT);
m_bRightHand=pStep->HasHandRail(OFFSET_RIGHT);
m_bNeedLeft=pStep->HasSideBeam(OFFSET_LEFT);
m_bNeedRight=pStep->HasSideBeam(OFFSET_RIGHT);
m_nStairFlag=pStep->GetStairFlag();
m_nStepNum=pStep->GetTotalStepNum();
m_bLeftWall=pStep->IsAlongWall(0);
m_bRightWall=pStep->IsAlongWall(1);
//新增
m_strFirstStairRailDist=Dist2Str(pStep->GetRailDist());
m_strEndStairRailDist=Dist2Str(pStep->GetRailDistEnd());
m_strSectHeight=Dist2Str(pStep->GetSectElev());
m_bUpDir=pStep->IsArrow();
if (m_bAsAscent)
m_strSectHeight=Dist2Str(pStep->GetSectElev());
else
m_iSectNum=(int)pStep->GetSectStepNum();
//double mm=pStep->GetSectStepNum();
}
bool CMultiStairDlg::UpdateEdit(UINT ctrlID,bool bReportError)
{
if (!bValidWnd)
return false;
CEdit *pEdit=(CEdit*)GetDlgItem(ctrlID);
if (pEdit==NULL)
return false;
static bool bUpdating=false;
if (bUpdating)
return false;
bUpdating=true;
bool result=true;
CDataExchange dxOut(this,false);
if (ctrlID==IDC_STAIR_LENGTH||ctrlID==IDC_STEP_WIDTH||ctrlID==IDC_STAIR_WIDTH) {
CString temp;
pEdit->GetWindowText(temp);
if (ctrlID==IDC_STAIR_LENGTH) {
} else if (ctrlID==IDC_STEP_WIDTH){
if (_tstof(temp)>0) {
m_strStepWidth=temp;
//m_strStairLength=Dist2Str(_tstof(temp)*(m_bAsAscent? m_nStepNum : m_nStepNum-1));
//DDX_Text(&dxOut,IDC_STAIR_LENGTH,m_strStairLength);
//UpdateImage();
} else if (bReportError) {
AfxMessageBox(_T("踏步宽度太小!"));
DDX_Text(&dxOut,IDC_STEP_WIDTH,m_strStepWidth);
pEdit->SetFocus();
pEdit->SetSel(0,-1);
}
} else {
if (_tstof(temp)>0) {
m_strStairWidth=temp;
UpdateImage();//更新
} else if (bReportError) {
AfxMessageBox(_T("梯段宽度太小!"));
pEdit->SetFocus();
DDX_Text(&dxOut,IDC_STAIR_WIDTH,m_strStairWidth);//还原
pEdit->SetSel(0,-1);
}
}
}
//新增
else if (ctrlID==IDC_CHECK_UPDIR)
{
CDataExchange dxIn(this,TRUE);
DDX_Check(&dxIn,IDC_CHECK_UPDIR,m_bUpDir);
DDX_Check(&dxOut,IDC_CHECK_UPDIR,m_bUpDir);
UpdateImage();
}
else if (ctrlID==IDC_EDIT_FIRSTDIST)
{
CString temp;
pEdit->GetWindowText(temp);
m_strFirstStairRailDist=temp;
DDX_Text(&dxOut,IDC_EDIT_FIRSTDIST,m_strFirstStairRailDist);
UpdateImage();
}
else if (ctrlID==IDC_EDIT_ENDDIST)
{
CString temp;
pEdit->GetWindowText(temp);
m_strEndStairRailDist=temp;
DDX_Text(&dxOut,IDC_EDIT_ENDDIST,m_strEndStairRailDist);
UpdateImage();
}
else if (ctrlID==IDC_EDIT_SECTHEIGHT)
{
CString temp;
pEdit->GetWindowText(temp);
if (_tstof(temp)>0&&_tstof(temp)<_tstof(m_strStairHeight))
{
m_strSectHeight=temp;
DDX_Text(&dxOut,IDC_EDIT_SECTHEIGHT,m_strSectHeight);
UpdateImage();
}
else if (bReportError) {
AfxMessageBox(_T("剖切高度不合适!"));
pEdit->SetFocus();
DDX_Text(&dxOut,IDC_EDIT_SECTHEIGHT,m_strSectHeight);//还原
}
}
else if (ctrlID==IDC_EDIT1)
{
CString temp;
pEdit->GetWindowText(temp);
if (_tstof(temp)*_tstof(m_strStepHeight)>0&&_tstof(temp)*_tstof(m_strStepHeight)<_tstof(m_strStairHeight))
{
m_iSectNum=::_ttoi(temp);
DDX_Text(&dxOut,IDC_EDIT1,m_iSectNum);
}
else if (bReportError) {
AfxMessageBox(_T("剖切步数不合适!"));
pEdit->SetFocus();
DDX_Text(&dxOut,IDC_EDIT1,m_iSectNum);//还原
}
}
//modify by xlc on 090220
else if (ctrlID==IDC_RAIL_DISTTOSIDE)
{//扶手距边的处理过程
CString temp;
pEdit->GetWindowText(temp);
if (_tstof(temp)>=0&&_tstof(temp)<_tstof(m_strStairWidth)*0.5)
{
m_strRailDistToSide=temp;
UpdateImage();
}
else if (bReportError)
{
AfxMessageBox(_T("输入的扶手距边不正确!"));
DDX_Text(&dxOut,IDC_RAIL_DISTTOSIDE,m_strRailDistToSide);
pEdit->SetFocus();
}
}
else if (ctrlID==IDC_RAIL_HEIGHT)//扶手高度
{
CString temp;
pEdit->GetWindowText(temp);
double x=::_tstof(temp);
if (temp=="" || _tstof(temp)<=_DIST_SNAP)
{
this->MessageBox(_T("输入的扶手高度不正确!"),_T("AutoCAD"),MB_OK);
DDX_Text(&dxOut,IDC_RAIL_HEIGHT,m_strRailHeight);
}
else
{
m_strRailHeight = temp;
UpdateImage();
}
}
else if (ctrlID==IDC_RAIL_WIDTH)//扶手宽度
{
CString temp;
pEdit->GetWindowText(temp);
double x=::_tstof(temp);
if (temp=="" || x<=0)
{
this->MessageBox(_T("输入的扶手宽度不正确!"),_T("AutoCAD"),MB_OK);
DDX_Text(&dxOut,IDC_RAIL_WIDTH,m_strRailWidth);
}
else
{
m_strRailWidth =temp;
}
}
//else if (ctrlID==IDC_AS_ASCENT || ctrlID==IDC_HAS_RHAND || ctrlID==IDC_ON_GROUND)
//{//坡道各项处理
//}
//-----------------------------------------------
else if (CBaseStairDlg::UpdateEdit(ctrlID,bReportError)&&
(ctrlID==IDC_STEP_NUM||ctrlID==IDC_STEP_HEIGHT)){
} else
result=false;
bUpdating=false;
return result;
}
void CMultiStairDlg::OnOK()
{
//---------------------------
// nsh 修改于20070903
// --------------------------
//CToolTipDialog::OnOK();
CModelessDialog::OnOK();
}
void CMultiStairDlg::OnClickSW()
{
this->ShowWindow(SW_HIDE);
this->GetDist();
this->ShowWindow(SW_SHOW);
}
void CMultiStairDlg::GetDist()
{//得到楼梯长度的函数
ads_real xDist;
static CString temp;
temp=m_strStairWidth;
BeginEditorCommand();
int i=ads_getdist(NULL,_T("请输入楼梯的宽度:"),&xDist);
CompleteEditorCommand();
if (i==RTNORM)
{
if (xDist>0)
{
this->UpdateData();
m_strStairWidth.Format(_T("%f"),xDist);
this->UpdateData(FALSE);
}
}
else
{
if (i==RTNONE)
{
m_strStairWidth =temp;
this->UpdateData(FALSE);
return;
}
}
}
//新增操作
void CMultiStairDlg::OnClickUpDir()
{//标注上楼方向
UpdateEdit(IDC_CHECK_UPDIR,false);
return;
}
void CMultiStairDlg::OnChangeFirstRailDist()
{//首层扶手伸出
UpdateEdit(IDC_EDIT_FIRSTDIST,false);
return;
}
void CMultiStairDlg::OnChangeEndRailDist()
{//尾层扶手伸出
UpdateEdit(IDC_EDIT_ENDDIST,false);
return;
}
void CMultiStairDlg::OnChangeSectHeight()
{//剖切高度
UpdateEdit(IDC_EDIT_SECTHEIGHT,true);
return;
}
void CMultiStairDlg::OnChangeSectNum()
{
UpdateEdit(IDC_EDIT1,true);
}
//add by xlc on 090220
void CMultiStairDlg::OnRailDisttoSideKF()
{
UpdateEdit(IDC_RAIL_DISTTOSIDE,true);
}
void CMultiStairDlg::OnRailHeightKF()
{
UpdateEdit(IDC_RAIL_HEIGHT,true);
}
void CMultiStairDlg::OnRailWidthKF()
{
UpdateEdit(IDC_RAIL_WIDTH,true);
}
//以下为坡道的情况下的处理
void CMultiStairDlg::OnClickAsCent()
{
CDataExchange dxIn(this,true);
DDX_Check(&dxIn,IDC_AS_ASCENT,m_bAsAscent);
//--------------------------
if (m_bAsAscent)
{
this->GetDlgItem(IDC_EDIT1)->ShowWindow(SW_HIDE);
this->GetDlgItem(IDC_STATIC_SECTNUM)->ShowWindow(SW_HIDE);
this->GetDlgItem(IDC_SPIN1)->ShowWindow(SW_HIDE);
this->GetDlgItem(IDC_EDIT_SECTHEIGHT)->ShowWindow(SW_SHOW);
this->GetDlgItem(IDC_STATIC_SECTHEIGHT)->ShowWindow(SW_SHOW);
this->GetDlgItem(IDC_HAS_SLANT)->EnableWindow(TRUE);
this->GetDlgItem(IDC_ON_GROUND)->EnableWindow(TRUE);
}
else
{
this->GetDlgItem(IDC_EDIT1)->ShowWindow(SW_SHOW);
this->GetDlgItem(IDC_STATIC_SECTNUM)->ShowWindow(SW_SHOW);
this->GetDlgItem(IDC_SPIN1)->ShowWindow(SW_SHOW);
this->GetDlgItem(IDC_EDIT_SECTHEIGHT)->ShowWindow(SW_HIDE);
this->GetDlgItem(IDC_STATIC_SECTHEIGHT)->ShowWindow(SW_HIDE);
this->GetDlgItem(IDC_HAS_SLANT)->EnableWindow(FALSE);
this->GetDlgItem(IDC_ON_GROUND)->EnableWindow(FALSE);
}
//以下是在切换的时候转化剖切高度和剖切步数的计算
CDataExchange dxOut(this,false);
if (m_bAsAscent)
{
m_strSectHeight=Dist2Str((m_iSectNum-0.5)*::_tstof(m_strStepHeight));
DDX_Text(&dxOut,IDC_EDIT_SECTHEIGHT,m_strSectHeight);
}
else
{
m_iSectNum=(int)(::_tstof(m_strSectHeight)/::_tstof(m_strStepHeight)+0.5);
DDX_Text(&dxOut,IDC_EDIT1,m_iSectNum);
}
UpdateImage();
//-----------------------------
}
void CMultiStairDlg::OnClickHasSlent()
{
CDataExchange dxIn(this,true);
DDX_Check(&dxIn,IDC_HAS_RHAND,m_bRightHand);
UpdateImage();
}
void CMultiStairDlg::OnClickOnground()
{
CDataExchange dxIn(this,true);
//modify by xlc on 090220
//DDX_Text(&dxIn,IDC_ON_GROUND,m_bOnGround);
DDX_Check(&dxIn,IDC_ON_GROUND,m_bOnGround);
UpdateImage();
}
//----------------------------------
void CMultiStairDlg::OnLeftHandClk()
{
UpdateData();
if (m_bLeftHand||m_bRightHand)
{
GetDlgItem(IDC_AUTORAIL)->EnableWindow(TRUE);
}
else
{
GetDlgItem(IDC_AUTORAIL)->EnableWindow(FALSE);
}
}
void CMultiStairDlg::OnRightHandClk()
{
UpdateData();
if (m_bLeftHand||m_bRightHand)
{
GetDlgItem(IDC_AUTORAIL)->EnableWindow(TRUE);
}
else
{
GetDlgItem(IDC_AUTORAIL)->EnableWindow(FALSE);
}
}