1504 lines
42 KiB
C++
1504 lines
42 KiB
C++
#include "StdAfx.h"
|
|
#include "doublemulstairdlg.h"
|
|
|
|
CString CDoubleMulStairDlg::m_strSpaceWidth=_T("5000");
|
|
CString CDoubleMulStairDlg::m_strSideStairWidth=_T("1200");
|
|
CString CDoubleMulStairDlg::m_strMidStairWidth=_T("2400");
|
|
|
|
CString CDoubleMulStairDlg::m_strRailDistToSide=_T("0");
|
|
CString CDoubleMulStairDlg::m_strRailHeight=_T("900");
|
|
CString CDoubleMulStairDlg::m_strRailWidth=_T("60");
|
|
CString CDoubleMulStairDlg::m_strStepWidth=_T("270");
|
|
|
|
int CDoubleMulStairDlg::m_iStepNum1=10;
|
|
int CDoubleMulStairDlg::m_iStepNum2=10;
|
|
int CDoubleMulStairDlg::m_iStepNum3=10;
|
|
|
|
int CDoubleMulStairDlg::m_iSelectFloor=1;//选择楼层
|
|
int CDoubleMulStairDlg::m_iStepAlign=0;//踏步取齐
|
|
BOOL CDoubleMulStairDlg::m_bLeftBeam=FALSE;
|
|
BOOL CDoubleMulStairDlg::m_bRightBeam=FALSE;
|
|
BOOL CDoubleMulStairDlg::m_bUpPostion=TRUE;//上楼方法
|
|
|
|
|
|
|
|
CString CDoubleMulStairDlg::m_strRailOutDis=_T("60");//扶手伸出距离
|
|
CString CDoubleMulStairDlg::m_strSideRailDist=_T("60");//中扶手伸出
|
|
BOOL CDoubleMulStairDlg::m_bAutoRail=FALSE;
|
|
BOOL CDoubleMulStairDlg::m_bHasOutRail=FALSE;
|
|
CString CDoubleMulStairDlg::m_strSlabWidth=_T("1400");//平台宽度;
|
|
CString CDoubleMulStairDlg::m_strSlabLength=_T("1200");
|
|
CString CDoubleMulStairDlg::m_strSlabLengthM=_T("1200");
|
|
CString CDoubleMulStairDlg::m_strSlabWidthM=_T("2700");
|
|
CString CDoubleMulStairDlg::m_strStairWidth2=_T("1200");//第二梯段宽
|
|
int CDoubleMulStairDlg::m_iSectStepNum=5;
|
|
BOOL CDoubleMulStairDlg::m_bHasArrow=TRUE;//标注
|
|
|
|
BOOL CDoubleMulStairDlg::m_bInsideRail=TRUE;//内侧栏杆
|
|
BOOL CDoubleMulStairDlg::m_bHasInsideHandRail=TRUE;//有内侧扶手
|
|
//保留结果
|
|
int CDoubleMulStairDlg::m_isaveStepNum=30;
|
|
CString CDoubleMulStairDlg::m_strsaveStepHeight=_T("150");
|
|
CString CDoubleMulStairDlg::m_strsaveStairHeight=_T("4500");
|
|
IMPLEMENT_DYNAMIC(CDoubleMulStairDlg,CBaseStairDlg)
|
|
|
|
CDoubleMulStairDlg::CDoubleMulStairDlg(CWnd*pParent/* =NULL */):CBaseStairDlg(CDoubleMulStairDlg::IDD,pParent),m_group1(0)
|
|
{
|
|
|
|
m_nStepNum=m_iStepNum1+m_iStepNum2+m_iStepNum3;
|
|
m_strStairHeight=Dist2Str(m_nStepNum*::_tstof(m_strStepHeight));
|
|
m_iSlab=0;//休息平台
|
|
m_bGroupStatus=FALSE;//组合窗的状态
|
|
Exchange(m_nStepNum,m_isaveStepNum);
|
|
Exchange(m_strStepHeight,m_strsaveStepHeight);
|
|
Exchange(m_strStairHeight,m_strsaveStairHeight);
|
|
//初始话
|
|
m_bEdit=FALSE;//处于非编辑状态
|
|
m_pBakObj=NULL;//为空状态
|
|
}
|
|
CDoubleMulStairDlg::CDoubleMulStairDlg(UINT idd,CWnd*pParent/*=NULL*/):CBaseStairDlg(idd,pParent),m_group1(0)
|
|
{
|
|
|
|
m_nStepNum=m_iStepNum1+m_iStepNum2+m_iStepNum3;
|
|
m_strStairHeight=Dist2Str(m_nStepNum*::_tstof(m_strStepHeight));
|
|
m_iSlab=0;//休息平台
|
|
m_bGroupStatus=FALSE;//组合窗的状态
|
|
Exchange(m_nStepNum,m_isaveStepNum);
|
|
Exchange(m_strStepHeight,m_strsaveStepHeight);
|
|
Exchange(m_strStairHeight,m_strsaveStairHeight);
|
|
//初始话
|
|
m_bEdit=FALSE;//处于非编辑状态
|
|
m_pBakObj=NULL;//为空状态
|
|
}
|
|
CDoubleMulStairDlg::~CDoubleMulStairDlg()
|
|
{
|
|
Exchange(m_nStepNum,m_isaveStepNum);
|
|
Exchange(m_strStepHeight,m_strsaveStepHeight);
|
|
Exchange(m_strStairHeight,m_strsaveStairHeight);
|
|
if (m_bEdit)
|
|
delete m_pBakObj;//这个地方是不是有问题
|
|
}
|
|
BOOL CDoubleMulStairDlg::OnInitDialog()
|
|
{
|
|
CBaseStairDlg::OnInitDialog();
|
|
stepNum1.SetRange(2,10000);
|
|
stepNum2.SetRange(2,10000);
|
|
stepNum3.SetRange(2,10000);
|
|
m_ctrlSectStepNum.SetRange(1,m_nStepNum);
|
|
AddTip(IDC_NEED3D);
|
|
AddTip(IDC_NEED2D);
|
|
AddTip(IDC_STAIR_HEIGHT_STATIC,_T("楼梯高度始终等于所有踏步的高度总和,改变楼梯高度将使踏步数变化,同时可能微调踏步高度"));
|
|
AddTip(IDC_STEP_NUM_STATIC,_T("改变踏步数将使踏步高度反向变化"));
|
|
AddTip(IDC_STEP_HEIGHT_STATIC,_T("输入一个大概的近似踏步高度,系统将自动设置正确值;改变踏步高度将引起踏步数反向变化"));
|
|
UpdateSel();
|
|
UpdateImage();
|
|
return TRUE;
|
|
}
|
|
BEGIN_MESSAGE_MAP(CDoubleMulStairDlg,CBaseStairDlg)
|
|
//消息映射过程
|
|
ON_EN_CHANGE(IDC_SPACE_WIDTH,OnChangeSpaceWidth)
|
|
ON_EN_CHANGE(IDC_RAIL_HEIGHT,OnChangeRailHeight)
|
|
ON_EN_CHANGE(IDC_RAIL_WIDTH,OnChangeRailWidth)
|
|
ON_EN_CHANGE(IDC_SIDESTAIR_WIDTH,OnChangeSideStairWidth)
|
|
ON_EN_CHANGE(IDC_MIDSTAIR_WIDTH,OnChangeMidStairWidth)
|
|
ON_EN_CHANGE(IDC_STEP_HEIGHT,OnChangeStepHeight)
|
|
ON_EN_CHANGE(IDC_STEP_WIDTH,OnChangeStepWidth)
|
|
ON_EN_CHANGE(IDC_STEP_NUM1,OnChangeStepNum1)
|
|
ON_EN_CHANGE(IDC_STEP_NUM2,OnChangeStepNum2)
|
|
ON_EN_CHANGE(IDC_STEP_NUM3,OnChangeStepNum3)//三跑
|
|
ON_EN_CHANGE(IDC_RAIL_DISTTOSIDE,OnChangeRailDistToSide)
|
|
ON_EN_CHANGE(IDC_FLATFORM_WIDTH,OnChangeSlabWidth)
|
|
ON_EN_CHANGE(IDC_STEP_NUM,OnChangeStepNum)
|
|
ON_EN_CHANGE(IDC_POU_NUM,OnChangeSectStepNum)//剖切
|
|
ON_EN_CHANGE(IDC_RAIL_OUTDIST,OnChangeRailOutDist)//扶手伸出
|
|
ON_EN_CHANGE(IDC_EDIT_MIDRAILDIST,OnChangeSideRailDist)//边扶手伸出
|
|
ON_CBN_EDITCHANGE(IDC_STAIR_HEIGHTCOMBOX,OnChangeStairHeight)
|
|
ON_CBN_SELCHANGE(IDC_STAIR_HEIGHTCOMBOX,OnSelChangeStairHeight)
|
|
ON_CBN_KILLFOCUS(IDC_STAIR_HEIGHTCOMBOX,OnKFStairHeight)
|
|
ON_EN_CHANGE(IDC_STAIR2_WIDTH,OnChangeStairWidth2)//第二梯段宽
|
|
//休息平台
|
|
ON_EN_CHANGE(IDC_SLAB1_LENGTH,OnChangeSlabLength)
|
|
ON_EN_CHANGE(IDC_SLABM_WIDTH,OnChangeSlabWidthM)
|
|
ON_EN_CHANGE(IDC_SLABM_LENGTH,OnChangeSlabLengthM)
|
|
|
|
ON_EN_KILLFOCUS(IDC_STAIR_HEIGHT,OnENKillFocus)
|
|
ON_EN_KILLFOCUS(IDC_STEP_NUM,OnKFStepNum)
|
|
ON_EN_KILLFOCUS(IDC_STEP_HEIGHT,OnStepHeightKillFocus)
|
|
|
|
ON_EN_KILLFOCUS(IDC_SPACE_WIDTH,OnKFSpaceWidth)
|
|
ON_EN_KILLFOCUS(IDC_RAIL_HEIGHT,OnKFRailHeight)
|
|
ON_EN_KILLFOCUS(IDC_RAIL_WIDTH,OnKFRailWidth)
|
|
ON_EN_KILLFOCUS(IDC_SIDESTAIR_WIDTH,OnKFSideStairWidth)
|
|
ON_EN_KILLFOCUS(IDC_MIDSTAIR_WIDTH,OnKFMidStairWidth)
|
|
ON_EN_KILLFOCUS(IDC_STEP_WIDTH,OnKFStepWidth)
|
|
ON_EN_KILLFOCUS(IDC_STEP_NUM1,OnKFStepNum1)
|
|
ON_EN_KILLFOCUS(IDC_STEP_NUM2,OnKFStepNum2)
|
|
ON_EN_KILLFOCUS(IDC_STEP_NUM3,OnKFStepNum3)//三跑
|
|
ON_EN_KILLFOCUS(IDC_RAIL_DISTTOSIDE,OnKFRailDistToSide)
|
|
ON_EN_KILLFOCUS(IDC_FLATFORM_WIDTH,OnKFSlabWidth)
|
|
ON_EN_KILLFOCUS(IDC_POU_NUM,OnKFSectStepNum)//剖切
|
|
ON_EN_KILLFOCUS(IDC_RAIL_OUTDIST,OnKFRailOutDist)//扶手伸出
|
|
ON_EN_KILLFOCUS(IDC_EDIT_MIDRAILDIST,OnKFSideRailDist)//边扶手伸出
|
|
ON_EN_KILLFOCUS(IDC_SLAB1_LENGTH,OnKFSlabLength)
|
|
ON_EN_KILLFOCUS(IDC_SLABM_WIDTH,OnKFSlabWidthM)
|
|
ON_EN_KILLFOCUS(IDC_SLABM_LENGTH,OnKFSlabLengthM)
|
|
ON_EN_KILLFOCUS(IDC_STAIR2_WIDTH,OnKFStairWidth2)//二跑梯段宽
|
|
|
|
//休息平台
|
|
ON_BN_CLICKED(IDC_RECT_PLATFORM,UpdateSel)
|
|
ON_BN_CLICKED(IDC_ARC_PLATFORM,UpdateSel)
|
|
ON_BN_CLICKED(IDC_NO_PLATFORM,UpdateSel)
|
|
|
|
|
|
//左右边梁
|
|
ON_BN_CLICKED(IDC_LEFT_BEAM,UpdateSel)
|
|
ON_BN_CLICKED(IDC_RIGHT_BEAM,UpdateSel)
|
|
//楼层设置
|
|
ON_BN_CLICKED(IDC_RADIO_FIRST,UpdateSel)
|
|
ON_BN_CLICKED(IDC_RADIO_MID,UpdateSel)
|
|
ON_BN_CLICKED(IDC_RADIO_TOP,UpdateSel)
|
|
//踏步取齐
|
|
ON_BN_CLICKED(IDC_ALIGN_SLAB,UpdateSel)
|
|
ON_BN_CLICKED(IDC_ALIGN_FLOOR,UpdateSel)
|
|
ON_BN_CLICKED(IDC_ALIGN_MID,UpdateSel)
|
|
//上楼位置
|
|
ON_BN_CLICKED(IDC_SIDE_UP,UpdateSel)
|
|
ON_BN_CLICKED(IDC_MID_UP,UpdateSel)
|
|
ON_BN_CLICKED(IDC_SET_ARROW,UpdateSel)//标注
|
|
//梯段宽按钮的处理
|
|
ON_BN_CLICKED(IDC_BN_STAIRWIDTH,OnClickStairWidth)
|
|
ON_BN_CLICKED(IDC_BN_SIDESTAIRWIDTH,OnClickSideStairWidth)
|
|
ON_BN_CLICKED(IDC_BN_MIDSTAIRWIDTH,OnClickMidStairWidth)
|
|
ON_BN_CLICKED(IDC_BUTTON_STAIR2,OnClickStairWidth2)//第二梯段宽
|
|
//作为坡道
|
|
ON_BN_CLICKED(IDC_AS_ASCENT,UpdateSel)
|
|
ON_BN_CLICKED(IDC_HAS_SLANT,UpdateSel)
|
|
ON_BN_CLICKED(IDC_ON_GROUND,UpdateSel)
|
|
//扶手处理
|
|
ON_BN_CLICKED(IDC_AUTORAIL,UpdateSel)
|
|
ON_BN_CLICKED(IDC_HAS_OUTRAIL,UpdateSel)
|
|
ON_BN_CLICKED(IDC_INSIDERAIL,UpdateSel)
|
|
ON_BN_CLICKED(IDC_CHECK_HASINSIDERAIL,UpdateSel)//内侧扶手
|
|
ON_WM_CLOSE()
|
|
END_MESSAGE_MAP()
|
|
void CDoubleMulStairDlg::DoDataExchange(CDataExchange* pDX)
|
|
{ //变量映射
|
|
CBaseStairDlg::DoDataExchange(pDX);
|
|
DDX_Text(pDX,IDC_SIDESTAIR_WIDTH,m_strSideStairWidth);
|
|
DDX_Text(pDX,IDC_MIDSTAIR_WIDTH,m_strMidStairWidth);
|
|
DDX_Text(pDX,IDC_SPACE_WIDTH,m_strSpaceWidth);
|
|
DDX_Text(pDX,IDC_STEP_NUM1,m_iStepNum1);
|
|
DDX_Text(pDX,IDC_STEP_NUM2,m_iStepNum2);
|
|
DDX_Text(pDX,IDC_STEP_NUM3,m_iStepNum3);//三跑
|
|
DDX_Text(pDX,IDC_STEP_WIDTH,m_strStepWidth);
|
|
DDX_Text(pDX,IDC_POU_NUM,m_iSectStepNum);
|
|
DDX_CBString(pDX,IDC_STAIR_HEIGHTCOMBOX,m_strStairHeight);
|
|
DDX_Text(pDX,IDC_STAIR2_WIDTH,m_strStairWidth2);
|
|
//扶手处理
|
|
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_Text(pDX,IDC_RAIL_OUTDIST,m_strRailOutDis);//扶手伸出
|
|
DDX_Text(pDX,IDC_EDIT_MIDRAILDIST,m_strSideRailDist);//中扶手伸出
|
|
DDX_Check(pDX,IDC_HAS_OUTRAIL,m_bHasOutRail);
|
|
DDX_Check(pDX,IDC_INSIDERAIL,m_bInsideRail);
|
|
DDX_Check(pDX,IDC_CHECK_HASINSIDERAIL,m_bHasInsideHandRail);//内侧扶手
|
|
//踏步取齐
|
|
DDX_Radio(pDX,IDC_ALIGN_SLAB,m_iStepAlign);
|
|
//楼层映射
|
|
DDX_Radio(pDX,IDC_RADIO_FIRST,m_iSelectFloor);
|
|
//左右边梁
|
|
DDX_Check(pDX,IDC_LEFT_BEAM,m_bLeftBeam);
|
|
DDX_Check(pDX,IDC_RIGHT_BEAM,m_bRightBeam);
|
|
//上楼位置
|
|
DDX_Radio(pDX,IDC_MID_UP,m_bUpPostion);
|
|
DDX_Check(pDX,IDC_SET_ARROW,m_bHasArrow);
|
|
//组合窗
|
|
DDX_Control(pDX,IDC_GROUP1,m_group1);
|
|
DDX_GroupStatus(pDX,IDC_GROUP1,m_bGroupStatus);
|
|
//休息平台
|
|
DDX_Radio(pDX,IDC_RECT_PLATFORM,m_iSlab);
|
|
DDX_Text(pDX,IDC_FLATFORM_WIDTH,m_strSlabWidth);
|
|
|
|
DDX_Text(pDX,IDC_SLAB1_LENGTH,m_strSlabLength);
|
|
DDX_Text(pDX,IDC_SLABM_WIDTH,m_strSlabWidthM);
|
|
DDX_Text(pDX,IDC_SLABM_LENGTH,m_strSlabLengthM);
|
|
|
|
DDX_Control(pDX,IDC_STEP_NUM1_SPIN,stepNum1);
|
|
DDX_Control(pDX,IDC_STEP_NUM2_SPIN,stepNum2);
|
|
DDX_Control(pDX,IDC_STEP_NUM3_SPIN,stepNum3);//三跑
|
|
DDX_Control(pDX,IDC_SECTSTEP_SPIN,m_ctrlSectStepNum);
|
|
DDX_Control(pDX,IDC_STAIR_HEIGHTCOMBOX,m_ctrlStairHeight);
|
|
}
|
|
AcDbEntity* CDoubleMulStairDlg::NewObject()
|
|
{
|
|
TDbDoubleMulStair *pEnt;
|
|
if (m_pBakObj==NULL)
|
|
{
|
|
pEnt=new TDbDoubleMulStair;
|
|
pEnt->setLayer(InitLayer(LAY_STAIR));
|
|
pEnt->SetLayerHand3d(InitLayer(LAY_HANDRAIL));
|
|
pEnt->SetLayerRail3d(InitLayer(LAY_RAIL));
|
|
pEnt->SetLayerText(InitLayer(LAY_TEXT));
|
|
pEnt->SetTextStyle(InitTextStyle(TS_DIM));
|
|
pEnt->SetLayerArrow(InitLayer(LAY_OTHER_DIM));
|
|
|
|
//add by xlc on 090205 解决用户坐标系下预览文字倾斜的问题
|
|
pEnt->SetLayoutRotation(0);
|
|
|
|
return pEnt;
|
|
}
|
|
else
|
|
{
|
|
return (AcDbEntity*)(m_pBakObj->clone());
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::UpdateSel()
|
|
{
|
|
CBaseStairDlg::UpdateSel();
|
|
UpdateData(TRUE);
|
|
if (((CButton*)this->GetDlgItem(IDC_RECT_PLATFORM))->GetCheck())
|
|
{
|
|
m_iSlab=0;
|
|
this->GetDlgItem(IDC_FLATFORM_WIDTH)->EnableWindow(TRUE);
|
|
}
|
|
|
|
else if (((CButton*)this->GetDlgItem(IDC_ARC_PLATFORM))->GetCheck())
|
|
{
|
|
m_iSlab=1;
|
|
this->GetDlgItem(IDC_FLATFORM_WIDTH)->EnableWindow(TRUE);
|
|
}
|
|
else
|
|
{
|
|
this->GetDlgItem(IDC_FLATFORM_WIDTH)->EnableWindow(FALSE);
|
|
}
|
|
//楼层设置
|
|
if (((CButton*)this->GetDlgItem(IDC_RADIO_FIRST))->GetCheck())
|
|
m_iSelectFloor=0;
|
|
else if (((CButton*)this->GetDlgItem(IDC_RADIO_MID))->GetCheck())
|
|
m_iSelectFloor=1;
|
|
else
|
|
m_iSelectFloor=2;
|
|
//踏步取齐
|
|
if (((CButton*)this->GetDlgItem(IDC_ALIGN_SLAB))->GetCheck())
|
|
m_iStepAlign=0;
|
|
else if (((CButton*)this->GetDlgItem(IDC_ALIGN_MID))->GetCheck())
|
|
m_iStepAlign=1;
|
|
else
|
|
m_iStepAlign=2;
|
|
//以下对2D or 3D的显示
|
|
if (m_bNeed2D && m_bNeed3D) m_iViewCtrl=0;
|
|
else if (!m_bNeed2D && m_bNeed3D) m_iViewCtrl=2;
|
|
else if (m_bNeed2D && !m_bNeed3D) m_iViewCtrl=1;
|
|
else m_iViewCtrl=0;
|
|
|
|
// 修改描述:各种楼梯对话框中的“标注上楼方向”一项
|
|
// 应在“需要2D”一项勾选后才变成可选择状态。(2097)
|
|
// 修改人,修改时间:Zyu modify on 100325
|
|
GetDlgItem(IDC_SET_ARROW)->EnableWindow(m_bNeed2D);
|
|
|
|
//扶手栏杆关系
|
|
this->GetDlgItem(IDC_AUTORAIL)->EnableWindow(m_bHasOutRail);
|
|
//this->GetDlgItem(IDC_INSIDERAIL)->EnableWindow(m_bHasInsideHandRail);//内侧扶手
|
|
UpdateData(FALSE);
|
|
UpdateImage();
|
|
return;
|
|
}
|
|
bool CDoubleMulStairDlg::UpdateEdit(UINT ctrlID,bool bReportError/* =false */)
|
|
{//这个函数有些问题
|
|
CWnd *pImageBox=GetDlgItem(IDC_PREVIEW);
|
|
if (!pImageBox)
|
|
return false;
|
|
if (GetSafeHwnd()==NULL)
|
|
return false;
|
|
CEdit *pEdit=(CEdit*)GetDlgItem(ctrlID);
|
|
if (pEdit==NULL)
|
|
return false;
|
|
|
|
static bool bUpdating=false;
|
|
if (bUpdating)
|
|
return false;
|
|
bUpdating=true;
|
|
|
|
CDataExchange dxOut(this,false);
|
|
CString temp;
|
|
pEdit->GetWindowText(temp);
|
|
switch(ctrlID)
|
|
{
|
|
case IDC_STAIR_HEIGHTCOMBOX:
|
|
{
|
|
if (_tstof(temp)>=4*_tstof(m_strStepHeight)-_DIST_SNAP && ::_tstof(temp)<=10000)
|
|
{//最少当前四踏步高
|
|
m_strStairHeight=temp;
|
|
m_nStepNum=(int)(_tstof(m_strStairHeight)/_tstof(m_strStepHeight)+0.5);
|
|
m_strStepHeight.Format(_T("%.2f"),(_tstof(m_strStairHeight)/m_nStepNum));
|
|
DDX_Text(&dxOut,IDC_STEP_HEIGHT,m_strStepHeight);
|
|
DDX_Text(&dxOut,IDC_STAIR_HEIGHT,m_strStairHeight);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM,m_nStepNum);
|
|
stepNum1.SetRange(2,m_nStepNum-2);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM1,m_iStepNum1=m_nStepNum/3);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM2,m_iStepNum2=m_nStepNum/3);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM3,m_iStepNum3=m_nStepNum-m_iStepNum1-m_iStepNum2);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM,m_nStepNum);
|
|
/*m_strStepHeight.Format(_T("%.2f"),::_tstof(m_strStairHeight)/(m_iStepNum1+m_iStepNum2+m_iStepNum3));
|
|
DDX_Text(&dxOut,IDC_STEP_HEIGHT,m_strStepHeight);*/
|
|
}
|
|
else
|
|
{
|
|
if (bReportError)
|
|
{
|
|
::AfxMessageBox(_T("楼梯高度不正确"));
|
|
this->GetDlgItem(IDC_STAIR_HEIGHTCOMBOX)->SetFocus();
|
|
m_strStairHeight.Format(_T("%.2f"),_tstof(m_strStepHeight)*(m_iStepNum1+m_iStepNum2+m_iStepNum3));
|
|
DDX_Text(&dxOut,IDC_STAIR_HEIGHTCOMBOX,m_strStairHeight);
|
|
}
|
|
|
|
bUpdating=false;
|
|
return false;
|
|
}
|
|
}
|
|
break;
|
|
case IDC_SPACE_WIDTH:
|
|
{
|
|
if (::_tstof(temp)<_DIST_SNAP)
|
|
{
|
|
bUpdating=false;
|
|
return false;
|
|
}
|
|
m_strSpaceWidth=temp;
|
|
DDX_Text(&dxOut,IDC_SPACE_WIDTH,m_strSpaceWidth);
|
|
}
|
|
break;
|
|
case IDC_STEP_NUM:
|
|
{
|
|
stepNumSpin.SetRange(6,10000);
|
|
if (_ttoi(temp)>5)
|
|
{
|
|
m_nStepNum=_ttoi(temp);
|
|
stepNum1.SetRange(2,m_nStepNum-2);
|
|
m_iStepNum1=m_nStepNum/3;
|
|
m_iStepNum2=m_nStepNum/3;
|
|
m_iStepNum3=m_nStepNum-m_iStepNum1-m_iStepNum2;
|
|
if (m_iStepNum1<2 || m_iStepNum2<2 || m_iStepNum3<2)
|
|
{
|
|
bUpdating=FALSE;
|
|
return false;
|
|
}
|
|
if (m_iSectStepNum>m_nStepNum)
|
|
{
|
|
m_iSectStepNum=m_nStepNum/2 +1;
|
|
DDX_Text(&dxOut,IDC_POU_NUM,m_iSectStepNum);
|
|
}
|
|
DDX_Text(&dxOut,IDC_STEP_NUM1,m_iStepNum1);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM2,m_iStepNum2);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM3,m_iStepNum3);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM,m_nStepNum);
|
|
m_strStepHeight.Format(_T("%.2f"),_tstof(m_strStairHeight)/m_nStepNum);
|
|
DDX_Text(&dxOut,IDC_STEP_HEIGHT,m_strStepHeight);
|
|
m_ctrlSectStepNum.SetRange(1,m_nStepNum);
|
|
|
|
UpdateImage();
|
|
}
|
|
else
|
|
{
|
|
if (bReportError)
|
|
{
|
|
AfxMessageBox(_T("总踏步数至少为6!"));
|
|
DDX_Text(&dxOut,IDC_STEP_NUM,m_nStepNum);
|
|
pEdit->SetFocus();
|
|
pEdit->SetSel(0,-1);
|
|
}
|
|
|
|
bUpdating=false;
|
|
return false;
|
|
}
|
|
}
|
|
break;
|
|
case IDC_STEP_NUM1:
|
|
{
|
|
stepNum1.SetRange(2,m_nStepNum-4);
|
|
if (_ttoi(temp)>1&&_ttoi(temp)<m_nStepNum-3) {
|
|
m_iStepNum1=_ttoi(temp);
|
|
m_iStepNum2=m_nStepNum-m_iStepNum1-m_iStepNum3;
|
|
if (m_iStepNum1<2 || m_iStepNum2<2)
|
|
{
|
|
m_iStepNum2=(m_nStepNum-m_iStepNum1)/2;
|
|
m_iStepNum3=m_nStepNum-m_iStepNum1-m_iStepNum2;
|
|
}
|
|
DDX_Text(&dxOut,IDC_STEP_NUM1,m_iStepNum1);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM2,m_iStepNum2);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM3,m_iStepNum3);
|
|
UpdateImage();
|
|
}
|
|
else
|
|
{
|
|
if (bReportError)
|
|
{
|
|
if (_ttoi(temp)<2)
|
|
AfxMessageBox(_T("边梯踏步数太少!"));
|
|
else
|
|
AfxMessageBox(_T("边梯踏步数太多!,请重新输入或先增大总踏步数。"));
|
|
DDX_Text(&dxOut,IDC_STEP_NUM1,m_iStepNum1);
|
|
pEdit->SetFocus();
|
|
pEdit->SetSel(0,-1);
|
|
}
|
|
|
|
bUpdating=false;
|
|
return false;
|
|
}
|
|
}
|
|
break;
|
|
case IDC_STEP_NUM2:
|
|
{
|
|
stepNum2.SetRange(2,m_nStepNum-4);
|
|
if (_ttoi(temp)>1&&_ttoi(temp)<m_nStepNum-3) {
|
|
m_iStepNum2=_ttoi(temp);
|
|
m_iStepNum1=m_nStepNum-m_iStepNum2-m_iStepNum3;
|
|
if (m_iStepNum1<2 || m_iStepNum2<2)
|
|
{
|
|
m_iStepNum1=(m_nStepNum-m_iStepNum2)/2;
|
|
m_iStepNum3=m_nStepNum-m_iStepNum1-m_iStepNum2;
|
|
}
|
|
DDX_Text(&dxOut,IDC_STEP_NUM1,m_iStepNum1);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM3,m_iStepNum3);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM2,m_iStepNum2);
|
|
UpdateImage();
|
|
}
|
|
else
|
|
{
|
|
if (bReportError)
|
|
{
|
|
if (_ttoi(temp)<2)
|
|
AfxMessageBox(_T("中梯踏步数太少!"));
|
|
else
|
|
AfxMessageBox(_T("中梯踏步数太多!,请重新输入或先增大总踏步数。"));
|
|
DDX_Text(&dxOut,IDC_STEP_NUM2,m_iStepNum2);
|
|
pEdit->SetFocus();
|
|
pEdit->SetSel(0,-1);
|
|
}
|
|
|
|
bUpdating=false;
|
|
return false;
|
|
}
|
|
}
|
|
break;
|
|
case IDC_STEP_NUM3:
|
|
{//二跑步数
|
|
stepNum3.SetRange(2,m_nStepNum-4);
|
|
if (::_ttoi(temp)<2 || ::_ttoi(temp)>m_nStepNum-4)
|
|
{
|
|
if (bReportError)
|
|
{
|
|
if (_ttoi(temp)<2)
|
|
AfxMessageBox(_T("二跑踏步数太少!"));
|
|
else
|
|
AfxMessageBox(_T("二跑踏步数太多!,请重新输入或先增大总踏步数。"));
|
|
pEdit->SetFocus();
|
|
}
|
|
if (::_ttoi(temp)>=m_nStepNum-5)
|
|
{
|
|
DDX_Text(&dxOut,IDC_STEP_NUM3,m_iStepNum3);
|
|
}
|
|
bUpdating=false;
|
|
return false;
|
|
|
|
}
|
|
m_iStepNum3=::_ttoi(temp);
|
|
m_iStepNum1=(m_nStepNum-m_iStepNum3)/2;
|
|
m_iStepNum2=m_nStepNum-m_iStepNum1-m_iStepNum3;
|
|
if (m_iStepNum1<2 || m_iStepNum2<2 || m_iStepNum3<2)
|
|
{
|
|
bUpdating=FALSE;
|
|
return false;
|
|
}
|
|
DDX_Text(&dxOut,IDC_STEP_NUM1,m_iStepNum1);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM2,m_iStepNum2);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM3,m_iStepNum3);
|
|
}
|
|
break;
|
|
case IDC_POU_NUM:
|
|
{//剖切
|
|
if (::_ttoi(temp)<1||::_ttoi(temp)>m_nStepNum)
|
|
{
|
|
bUpdating=false;
|
|
if (bReportError)
|
|
{
|
|
AfxMessageBox(_T("剖切步数不正确!"));
|
|
pEdit->SetFocus();
|
|
}
|
|
return false;
|
|
|
|
}
|
|
m_ctrlSectStepNum.SetRange(2,m_nStepNum);
|
|
m_iSectStepNum=::_ttoi(temp);
|
|
DDX_Text(&dxOut,IDC_POU_NUM,m_iSectStepNum);
|
|
}
|
|
break;
|
|
case IDC_STEP_WIDTH:
|
|
{
|
|
if (::_tstof(temp)>_DIST_SNAP && temp!=_T(""))
|
|
{
|
|
m_strStepWidth=temp;
|
|
DDX_Text(&dxOut,IDC_STEP_WIDTH,m_strStepWidth);
|
|
}
|
|
else
|
|
{
|
|
if (bReportError)
|
|
{
|
|
::AfxMessageBox(_T("踏步宽度不正确"));
|
|
this->GetDlgItem(IDC_STEP_WIDTH)->SetFocus();
|
|
DDX_Text(&dxOut,IDC_STEP_WIDTH,m_strStepWidth);
|
|
}
|
|
|
|
bUpdating=false;
|
|
return false;
|
|
}
|
|
}
|
|
break;
|
|
case IDC_STEP_HEIGHT:
|
|
{
|
|
int num(1);
|
|
if (fabs(_tstof(temp))>_DIST_SNAP)
|
|
{
|
|
num=(int)(_tstof(m_strStairHeight)/_tstof(temp)+0.5);
|
|
}
|
|
if (num>5) {
|
|
//CBaseStairDlg::UpdateEdit(ctrlID,bReportError);
|
|
m_nStepNum = num;
|
|
DDX_Text(&dxOut,IDC_STEP_NUM,m_nStepNum);
|
|
m_strStepHeight.Format(_T("%.2f"),_tstof(m_strStairHeight)/m_nStepNum);
|
|
|
|
DDX_Text(&dxOut,IDC_STEP_HEIGHT,m_strStepHeight);
|
|
stepNum1.SetRange(2,m_nStepNum-2);
|
|
stepNum2.SetRange(2,m_nStepNum-2);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM1,m_iStepNum1=m_nStepNum/3);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM2,m_iStepNum2=m_nStepNum/3);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM3,m_iStepNum3=m_nStepNum-m_iStepNum1-m_iStepNum2);
|
|
UpdateImage();
|
|
}
|
|
else
|
|
{
|
|
if (bReportError)
|
|
{
|
|
AfxMessageBox(_T("新踏步高度将造成踏步数小于6,请重新输入或先增大梯段高度!"));
|
|
DDX_Text(&dxOut,IDC_STEP_HEIGHT,m_strStepHeight);
|
|
pEdit->SetFocus();
|
|
pEdit->SetSel(0,-1);
|
|
}
|
|
|
|
bUpdating=false;
|
|
return false;
|
|
}
|
|
}
|
|
break;
|
|
case IDC_RAIL_DISTTOSIDE:
|
|
{
|
|
if (::_tstof(temp)<-(::_tstof(m_strRailWidth)*1.5))
|
|
{
|
|
bUpdating=false;
|
|
if (bReportError)
|
|
{
|
|
::AfxMessageBox(_T("扶手距边距离不正确"));
|
|
this->GetDlgItem(IDC_RAIL_DISTTOSIDE)->SetFocus();
|
|
DDX_Text(&dxOut,IDC_RAIL_DISTTOSIDE,m_strRailDistToSide);
|
|
}
|
|
return false;
|
|
}
|
|
m_strRailDistToSide=temp;
|
|
DDX_Text(&dxOut,IDC_RAIL_DISTTOSIDE,m_strRailDistToSide);
|
|
}
|
|
break;
|
|
case IDC_RAIL_OUTDIST:
|
|
{
|
|
if (::_tstof(temp)<-_tstof(m_strStepWidth)*(m_iStepNum2-1)*0.5)
|
|
{
|
|
bUpdating=false;
|
|
if (bReportError)
|
|
{
|
|
::AfxMessageBox(_T("中梯扶手伸出距离不正确"));
|
|
this->GetDlgItem(IDC_RAIL_OUTDIST)->SetFocus();
|
|
DDX_Text(&dxOut,IDC_RAIL_OUTDIST,m_strRailOutDis);
|
|
}
|
|
return false;
|
|
}
|
|
m_strRailOutDis=temp;
|
|
DDX_Text(&dxOut,IDC_RAIL_OUTDIST,m_strRailOutDis);
|
|
}
|
|
break;
|
|
case IDC_EDIT_MIDRAILDIST:
|
|
{//边扶手伸出
|
|
if (::_tstof(temp)<-_tstof(m_strStepWidth)*(m_iStepNum1-1)*0.5)
|
|
{
|
|
bUpdating=false;
|
|
if (bReportError)
|
|
{
|
|
::AfxMessageBox(_T("边梯扶手伸出距离不正确"));
|
|
this->GetDlgItem(IDC_EDIT_MIDRAILDIST)->SetFocus();
|
|
DDX_Text(&dxOut,IDC_EDIT_MIDRAILDIST,m_strSideRailDist);
|
|
}
|
|
return false;
|
|
}
|
|
m_strSideRailDist=temp;
|
|
DDX_Text(&dxOut,IDC_EDIT_MIDRAILDIST,m_strSideRailDist);
|
|
}
|
|
break;
|
|
case IDC_RAIL_WIDTH:
|
|
{
|
|
if (::_tstof(temp)<_DIST_SNAP)
|
|
{
|
|
bUpdating=false;
|
|
if (bReportError)
|
|
{
|
|
::AfxMessageBox(_T("扶手宽度不正确"));
|
|
this->GetDlgItem(IDC_RAIL_WIDTH)->SetFocus();
|
|
DDX_Text(&dxOut,IDC_RAIL_WIDTH,m_strRailWidth);
|
|
}
|
|
return false;
|
|
}
|
|
m_strRailWidth=temp;
|
|
DDX_Text(&dxOut,IDC_RAIL_WIDTH,m_strRailWidth);
|
|
}
|
|
break;
|
|
case IDC_RAIL_HEIGHT:
|
|
{
|
|
if (::_tstof(temp)<_DIST_SNAP)
|
|
{
|
|
bUpdating=false;
|
|
if (bReportError)
|
|
{
|
|
::AfxMessageBox(_T("扶手高度不正确"));
|
|
this->GetDlgItem(IDC_RAIL_HEIGHT)->SetFocus();
|
|
DDX_Text(&dxOut,IDC_RAIL_HEIGHT,m_strRailHeight);
|
|
}
|
|
return false;
|
|
}
|
|
m_strRailHeight=temp;
|
|
DDX_Text(&dxOut,IDC_RAIL_HEIGHT,m_strRailHeight);
|
|
}
|
|
break;
|
|
case IDC_MIDSTAIR_WIDTH:
|
|
{//中间梯段宽
|
|
if (::_tstof(temp)<_DIST_SNAP)
|
|
{
|
|
bUpdating=false;
|
|
if (bReportError)
|
|
{
|
|
::AfxMessageBox(_T("中梯梯段宽不正确"));
|
|
this->GetDlgItem(IDC_RAIL_HEIGHT)->SetFocus();
|
|
DDX_Text(&dxOut,IDC_RAIL_HEIGHT,m_strMidStairWidth);
|
|
}
|
|
return false;
|
|
}
|
|
m_strMidStairWidth=temp;
|
|
DDX_Text(&dxOut,IDC_MIDSTAIR_WIDTH,m_strMidStairWidth);
|
|
if (::_tstof(temp)>::_tstof(m_strSlabWidthM))
|
|
{
|
|
m_strSlabWidthM=Dist2Str(::_tstof(temp)+_DIST_SNAP);
|
|
DDX_Text(&dxOut,IDC_SLABM_WIDTH,m_strSlabWidthM);
|
|
}
|
|
}
|
|
break;
|
|
case IDC_SIDESTAIR_WIDTH:
|
|
{//边梯宽
|
|
if (::_tstof(temp)<_DIST_SNAP)
|
|
{
|
|
bUpdating=false;
|
|
if (bReportError)
|
|
{
|
|
::AfxMessageBox(_T("边梯梯段宽不正确"));
|
|
this->GetDlgItem(IDC_RAIL_HEIGHT)->SetFocus();
|
|
DDX_Text(&dxOut,IDC_RAIL_HEIGHT,m_strSideStairWidth);
|
|
}
|
|
return false;
|
|
}
|
|
m_strSideStairWidth=temp;
|
|
DDX_Text(&dxOut,IDC_SIDESTAIR_WIDTH,m_strSideStairWidth);
|
|
if (::_tstof(temp)>::_tstof(m_strSlabWidth))
|
|
{
|
|
m_strSlabWidth=Dist2Str(::_tstof(temp)+_DIST_SNAP);
|
|
DDX_Text(&dxOut,IDC_FLATFORM_WIDTH,m_strSlabWidth);
|
|
}
|
|
}
|
|
break;
|
|
case IDC_STAIR2_WIDTH:
|
|
{//第二梯段宽
|
|
if (::_tstof(temp)<_DIST_SNAP)
|
|
{
|
|
bUpdating=false;
|
|
if (bReportError)
|
|
{
|
|
::AfxMessageBox(_T("二跑梯段宽不正确"));
|
|
this->GetDlgItem(IDC_RAIL_HEIGHT)->SetFocus();
|
|
DDX_Text(&dxOut,IDC_RAIL_HEIGHT,m_strStairWidth2);
|
|
}
|
|
return false;
|
|
}
|
|
m_strStairWidth2=temp;
|
|
DDX_Text(&dxOut,IDC_STAIR2_WIDTH,m_strStairWidth2);
|
|
if (::_tstof(temp)>::_tstof(m_strSlabLengthM))
|
|
{
|
|
m_strSlabLengthM=Dist2Str(::_tstof(temp)+_DIST_SNAP);
|
|
DDX_Text(&dxOut,IDC_SLABM_LENGTH,m_strSlabLengthM);
|
|
}
|
|
if (::_tstof(temp)>::_tstof(m_strSlabLength))
|
|
{
|
|
m_strSlabLength=Dist2Str(::_tstof(temp)+_DIST_SNAP);
|
|
DDX_Text(&dxOut,IDC_SLAB1_LENGTH,m_strSlabLength);
|
|
}
|
|
}
|
|
break;
|
|
case IDC_FLATFORM_WIDTH:
|
|
{
|
|
if (::_tstof(temp)<_tstof(m_strSideStairWidth))
|
|
{
|
|
bUpdating=false;
|
|
if (bReportError)
|
|
{
|
|
::AfxMessageBox(_T("边平台宽不正确"));
|
|
this->GetDlgItem(IDC_SLABM_WIDTH)->SetFocus();
|
|
DDX_Text(&dxOut,IDC_SLABM_WIDTH,m_strSlabWidthM);
|
|
}
|
|
return false;
|
|
}
|
|
m_strSlabWidth=temp;
|
|
DDX_Text(&dxOut,IDC_FLATFORM_WIDTH,m_strSlabWidth);
|
|
}
|
|
break;
|
|
case IDC_SLAB_LENGTH:
|
|
{//边台长
|
|
if (::_tstof(temp)<_tstof(m_strStairWidth2))
|
|
{
|
|
bUpdating=false;
|
|
if (bReportError)
|
|
{
|
|
::AfxMessageBox(_T("边平台长不正确"));
|
|
this->GetDlgItem(IDC_SLABM_LENGTH)->SetFocus();
|
|
DDX_Text(&dxOut,IDC_SLABM_LENGTH,m_strSlabLengthM);
|
|
}
|
|
return false;
|
|
}
|
|
m_strSlabLength=temp;
|
|
DDX_Text(&dxOut,IDC_SLAB_LENGTH,m_strSlabLength);
|
|
}
|
|
break;
|
|
case IDC_SLABM_WIDTH:
|
|
{//中台宽
|
|
if (::_tstof(temp)<_tstof(m_strMidStairWidth))
|
|
{
|
|
bUpdating=false;
|
|
if (bReportError)
|
|
{
|
|
::AfxMessageBox(_T("中间平台宽不正确"));
|
|
this->GetDlgItem(IDC_SLABM_WIDTH)->SetFocus();
|
|
DDX_Text(&dxOut,IDC_SLABM_WIDTH,m_strSlabWidthM);
|
|
}
|
|
return false;
|
|
}
|
|
m_strSlabWidthM=temp;
|
|
DDX_Text(&dxOut,IDC_SLABM_WIDTH,m_strSlabWidthM);
|
|
}
|
|
break;
|
|
case IDC_SLABM_LENGTH:
|
|
{//中台长
|
|
if (::_tstof(temp)<_tstof(m_strStairWidth2))
|
|
{
|
|
bUpdating=false;
|
|
if (bReportError)
|
|
{
|
|
::AfxMessageBox(_T("中间平台长不正确"));
|
|
this->GetDlgItem(IDC_SLABM_LENGTH)->SetFocus();
|
|
DDX_Text(&dxOut,IDC_SLABM_LENGTH,m_strSlabLengthM);
|
|
}
|
|
return false;
|
|
}
|
|
m_strSlabLengthM=temp;
|
|
DDX_Text(&dxOut,IDC_SLABM_LENGTH,m_strSlabLengthM);
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
bUpdating=FALSE;
|
|
UpdateImage();
|
|
return false;
|
|
}
|
|
void CDoubleMulStairDlg::Obj2Dlg(const AcDbEntity *pStep)
|
|
{
|
|
TDbDoubleMulStair *pStair=TDbDoubleMulStair::cast(pStep);
|
|
// [8/14/2008 nsh]
|
|
//--------------------------------
|
|
m_bEdit=TRUE;
|
|
m_pBakObj=(TDbDoubleMulStair*)(pStair->clone());//专递值
|
|
//--------------------------------
|
|
VERIFY(pStair);
|
|
m_strStairHeight=Dist2Str(pStair->GetStairHeight());
|
|
m_strSideStairWidth=Dist2Str(pStair->GetStairWidth());
|
|
m_strMidStairWidth=Dist2Str(pStair->GetMStairWidth());
|
|
//m_strSpaceWidth.Format(_T("%.2f"),pStair->GetSpaceWidth());
|
|
m_strStepHeight.Format(_T("%.2f"),pStair->GetStepHeight());
|
|
m_strStepWidth=Dist2Str(pStair->GetStepWidth());
|
|
m_iStepNum1=pStair->GetStepNum1();
|
|
m_iStepNum2=pStair->GetStepNum2();
|
|
m_iStepNum3=pStair->GetStepNum3();
|
|
m_nStepNum=m_iStepNum2+m_iStepNum1+m_iStepNum3;
|
|
m_strRailHeight=Dist2Str(pStair->GetRailHeight());
|
|
m_strRailWidth=Dist2Str(pStair->GetRailWidth());
|
|
m_strRailDistToSide=Dist2Str(pStair->GetRailDistToSide());
|
|
m_iStepAlign=pStair->GetAlignment();
|
|
m_iSelectFloor=pStair->GetStairFlag();
|
|
m_bAsAscent=pStair->IsAscent();
|
|
m_bHasSlant=pStair->HasSlant();
|
|
m_iViewCtrl=pStair->GetViewCtrl();
|
|
m_bOnGround=pStair->IsOnGround();
|
|
if (pStair->IsArcPlatform())
|
|
m_iSlab=1;
|
|
else if (!pStair->IsArcPlatform())
|
|
m_iSlab=0;
|
|
m_strSlabWidth=(m_iSlab==0 || m_iSlab==1)? Dist2Str(pStair->GetSlabSize()) : Dist2Str(0.0);
|
|
m_bAutoRail=pStair->IsAutoOutRail();
|
|
m_bHasOutRail=pStair->IsOutRail();
|
|
//m_bLeftBeam=pStair->HasSideBeam(0);
|
|
//m_bRightBeam=pStair->HasSideBeam(1);
|
|
m_bLeftBeam=pStair->IsInSideBeam();
|
|
m_bRightBeam=pStair->IsOutSideBeam();
|
|
|
|
m_strSlabWidth=Dist2Str(pStair->GetSlabWidth());
|
|
m_strSlabLength=Dist2Str(pStair->GetSlabSize());
|
|
m_strSlabWidthM=Dist2Str(pStair->GetSlabWidthM());
|
|
m_strSlabLengthM=Dist2Str(pStair->GetSlabSizeM());
|
|
m_strRailOutDis=Dist2Str(pStair->GetRailDist());
|
|
m_strSideRailDist=Dist2Str(pStair->GetRailDistSide());
|
|
|
|
//modify by xlc on 090210
|
|
//m_bInsideRail=pStair->IsAutoOutRail();
|
|
m_bInsideRail=pStair->IsAutoRail();
|
|
|
|
m_strStairWidth2=Dist2Str(pStair->GetStairWidth2());
|
|
|
|
return;
|
|
}
|
|
void CDoubleMulStairDlg::Dlg2Obj(AcDbEntity *pStep)
|
|
{
|
|
TDbDoubleMulStair *pStair=TDbDoubleMulStair::cast(pStep);
|
|
VERIFY(pStair);
|
|
pStair->SetSpaceWidth(::_tstof(m_strSpaceWidth));
|
|
pStair->SetStairWidth(::_tstof(m_strSideStairWidth));
|
|
pStair->SetStairWidth2(::_tstof(m_strStairWidth2));
|
|
pStair->SetMStairWidth(::_tstof(m_strMidStairWidth));
|
|
pStair->SetStepNum1(m_iStepNum1);
|
|
pStair->SetStepNum2(m_iStepNum2);
|
|
pStair->SetStepNum3(m_iStepNum3);
|
|
pStair->SetArrow(m_bHasArrow);
|
|
pStair->SetStepWidth(::_tstof(m_strStepWidth));
|
|
pStair->SetStepHeight(::_tstof(m_strStepHeight));
|
|
pStair->SetRailHeight(::_tstof(m_strRailHeight));
|
|
pStair->SetRailWidth(::_tstof(m_strRailWidth));
|
|
pStair->SetRailDistToSide(::_tstof(m_strRailDistToSide));
|
|
pStair->SetRailDist(::_tstof(m_strRailOutDis));
|
|
pStair->SetSectStepNum(m_iSectStepNum);
|
|
pStair->SetAlignment(m_iStepAlign);//踏步取齐的功能,暂时设定为0
|
|
pStair->SetStairFlag(m_iSelectFloor);
|
|
/*pStair->SetSideBeam(0,m_bLeftBeam);
|
|
pStair->SetSideBeam(1,m_bRightBeam);*/
|
|
pStair->SetInSideBeam(m_bLeftBeam);
|
|
pStair->SetOutSideBeam(m_bRightBeam);
|
|
pStair->SetStartSide(m_bUpPostion);
|
|
pStair->SetAscent(m_bAsAscent);//作为坡道
|
|
pStair->SetSlant(m_bHasSlant);
|
|
pStair->SetOnGround(m_bOnGround);
|
|
pStair->SetViewCtrl(m_iViewCtrl);
|
|
//pStair->SetSlabSize((m_iSlab==0 || m_iSlab==1)? _tstof(m_strSlabLength) : 0.0);
|
|
pStair->SetSlabSize(::_tstof(m_strSlabLength));
|
|
if (m_iSlab==1)
|
|
pStair->SetArcPlatform(TRUE);
|
|
else
|
|
pStair->SetArcPlatform(FALSE);
|
|
pStair->SetAutoOutRail(m_bAutoRail);
|
|
pStair->SetOutRail(m_bHasOutRail);
|
|
// [4/24/2008 nsh]
|
|
pStair->SetSlabSizeM(::_tstof(m_strSlabLengthM));
|
|
pStair->SetSlabWidth(::_tstof(m_strSlabWidth));
|
|
pStair->SetSlabWidthM(::_tstof(m_strSlabWidthM));
|
|
pStair->SetSectStepNum(m_iSectStepNum);
|
|
//pStair->SetAutoRail(m_bInsideRail);//测试,内测扶手
|
|
pStair->SetRailDistSide(::_tstof(m_strSideRailDist));
|
|
pStair->SetAutoRail(m_bInsideRail);//测试,内测栏杆
|
|
//------------------------
|
|
if (m_bEdit)
|
|
{
|
|
delete m_pBakObj;
|
|
m_pBakObj=(TDbDoubleMulStair*)(pStair->clone());
|
|
}
|
|
//------------------------
|
|
return;
|
|
}
|
|
//以下为事件处理
|
|
void CDoubleMulStairDlg::OnChangeStepNum()
|
|
{
|
|
CString temp;
|
|
this->GetDlgItem(IDC_STEP_NUM)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_STEP_NUM);//踏步总数
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeStepNum1()
|
|
{
|
|
CString temp;
|
|
this->GetDlgItem(IDC_STEP_NUM1)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_STEP_NUM1);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeStepNum2()
|
|
{
|
|
CString temp;
|
|
this->GetDlgItem(IDC_STEP_NUM2)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_STEP_NUM2);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeStepNum3()
|
|
{
|
|
CString temp;
|
|
this->GetDlgItem(IDC_STEP_NUM3)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_STEP_NUM3);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeStepHeight()
|
|
{
|
|
// UpdateEdit(IDC_STEP_HEIGHT);
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeStepWidth()
|
|
{
|
|
CString temp;
|
|
this->GetDlgItem(IDC_STEP_WIDTH)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_STEP_WIDTH);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeRailDistToSide()
|
|
{
|
|
CString temp;
|
|
this->GetDlgItem(IDC_RAIL_DISTTOSIDE)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_RAIL_DISTTOSIDE);
|
|
}
|
|
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeRailHeight()
|
|
{
|
|
CString temp;
|
|
this->GetDlgItem(IDC_RAIL_HEIGHT)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_RAIL_HEIGHT);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeRailWidth()
|
|
{
|
|
CString temp;
|
|
this->GetDlgItem(IDC_RAIL_WIDTH)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_RAIL_WIDTH);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeSideStairWidth()
|
|
{
|
|
CString temp;
|
|
this->GetDlgItem(IDC_SIDESTAIR_WIDTH)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_SIDESTAIR_WIDTH);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeMidStairWidth()
|
|
{
|
|
CString temp;
|
|
this->GetDlgItem(IDC_MIDSTAIR_WIDTH)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_MIDSTAIR_WIDTH);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeStairHeight()
|
|
{
|
|
CString temp;
|
|
this->GetDlgItem(IDC_STAIR_HEIGHTCOMBOX)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_STAIR_HEIGHTCOMBOX);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeSpaceWidth()
|
|
{
|
|
CString temp;
|
|
this->GetDlgItem(IDC_SPACE_WIDTH)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_SPACE_WIDTH);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeSlabWidth()
|
|
{
|
|
CString temp;
|
|
this->GetDlgItem(IDC_FLATFORM_WIDTH)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_FLATFORM_WIDTH);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeSectStepNum()
|
|
{
|
|
CString temp;
|
|
this->GetDlgItem(IDC_POU_NUM)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_POU_NUM);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeRailOutDist()
|
|
{//扶手伸出距离
|
|
CString temp;
|
|
this->GetDlgItem(IDC_RAIL_OUTDIST)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_RAIL_OUTDIST);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeSideRailDist()
|
|
{//边扶手伸出距离
|
|
CString temp;
|
|
this->GetDlgItem(IDC_EDIT_MIDRAILDIST)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_EDIT_MIDRAILDIST,false);
|
|
}
|
|
}
|
|
//扶手的处理
|
|
void CDoubleMulStairDlg::OnChangeSlabWidthM()
|
|
{//平台中间宽度
|
|
CString temp;
|
|
this->GetDlgItem(IDC_SLABM_WIDTH)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_SLABM_WIDTH);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeSlabLength()
|
|
{//边平台长度
|
|
CString temp;
|
|
this->GetDlgItem(IDC_SLAB1_LENGTH)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_SLAB1_LENGTH);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeSlabLengthM()
|
|
{//中平台长度
|
|
CString temp;
|
|
this->GetDlgItem(IDC_SLABM_LENGTH)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_SLABM_LENGTH);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnENKillFocus()
|
|
{
|
|
return;
|
|
}
|
|
void CDoubleMulStairDlg::OnStepHeightKillFocus()
|
|
{
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090313
|
|
CString strText;
|
|
GetDlgItem(IDC_STEP_HEIGHT)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strStepHeight))<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_STEP_HEIGHT,true);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnChangeStairWidth2()
|
|
{//第二梯段宽
|
|
CString temp;
|
|
this->GetDlgItem(IDC_STAIR2_WIDTH)->GetWindowText(temp);
|
|
if (temp!=_T(""))
|
|
{
|
|
UpdateEdit(IDC_STAIR2_WIDTH);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFStairHeight()
|
|
{//楼梯失去焦点
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
CString strText;
|
|
GetDlgItem(IDC_STAIR_HEIGHTCOMBOX)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strStairHeight))<_DIST_SNAP)
|
|
return;
|
|
UpdateEdit(IDC_STAIR_HEIGHTCOMBOX,true);
|
|
}
|
|
|
|
}
|
|
void CDoubleMulStairDlg::OnClickMidStairWidth()
|
|
{
|
|
double dDist=::_tstof(m_strMidStairWidth);
|
|
BeginEditorCommand();
|
|
int nRet=GetDist(_T("\n中梯梯段宽度"), dDist, RSG_NOZERO|RSG_NONEG|RSG_2D);
|
|
CompleteEditorCommand();
|
|
if (nRet==RTNORM)
|
|
{
|
|
m_strMidStairWidth=Dist2Str(dDist);
|
|
if (dDist>::_tstof(m_strSlabWidthM))
|
|
{
|
|
m_strSlabWidthM = Dist2Str(dDist);
|
|
}
|
|
UpdateData(FALSE);
|
|
UpdateImage();
|
|
}
|
|
return;
|
|
}
|
|
void CDoubleMulStairDlg::OnClickSideStairWidth()
|
|
{
|
|
double dDist=::_tstof(m_strSideStairWidth);
|
|
BeginEditorCommand();
|
|
int nRet=GetDist(_T("\n边梯梯段宽度"), dDist, RSG_NOZERO|RSG_NONEG|RSG_2D);
|
|
CompleteEditorCommand();
|
|
if (nRet==RTNORM)
|
|
{
|
|
m_strSideStairWidth=Dist2Str(dDist);
|
|
if (dDist>::_tstof(m_strSlabWidth))
|
|
{
|
|
m_strSlabWidth = Dist2Str(dDist);
|
|
}
|
|
UpdateData(FALSE);
|
|
UpdateImage();
|
|
}
|
|
return;
|
|
}
|
|
void CDoubleMulStairDlg::OnClickStairWidth()
|
|
{
|
|
double dDist=::_tstof(m_strSpaceWidth);
|
|
BeginEditorCommand();
|
|
int nRet=GetDist(_T("\n楼梯间宽度"), dDist, RSG_NOZERO|RSG_NONEG|RSG_2D);
|
|
CompleteEditorCommand();
|
|
if (nRet==RTNORM)
|
|
{
|
|
m_strSpaceWidth=Dist2Str(dDist);
|
|
UpdateData(FALSE);
|
|
UpdateImage();
|
|
}
|
|
return;
|
|
}
|
|
void CDoubleMulStairDlg::OnClickStairWidth2()
|
|
{
|
|
double dDist=::_tstof(m_strStairWidth2);
|
|
BeginEditorCommand();
|
|
int nRet=GetDist(_T("\n二跑梯段宽度"), dDist, RSG_NOZERO|RSG_NONEG|RSG_2D);
|
|
CompleteEditorCommand();
|
|
if (nRet==RTNORM)
|
|
{
|
|
m_strStairWidth2=Dist2Str(dDist);
|
|
if (dDist>::_tstof(m_strSlabLength))
|
|
{
|
|
m_strSlabLength = Dist2Str(dDist);
|
|
}
|
|
if (dDist>::_tstof(m_strSlabLengthM))
|
|
{
|
|
m_strSlabLengthM = Dist2Str(dDist);
|
|
}
|
|
|
|
UpdateData(FALSE);
|
|
UpdateImage();
|
|
}
|
|
return;
|
|
}
|
|
void CDoubleMulStairDlg::OnSelChangeStairHeight()
|
|
{//楼梯高度选择
|
|
CString temp;
|
|
CDataExchange dxIn(this,TRUE);
|
|
DDX_CBString(&dxIn,IDC_STAIR_HEIGHTCOMBOX,m_strStairHeight);
|
|
m_ctrlStairHeight.GetLBText(m_ctrlStairHeight.GetCurSel(),temp);
|
|
if (_tstof(temp)>=4*_tstof(m_strStepHeight)-_DIST_SNAP)
|
|
{//最少当前四踏步高
|
|
CDataExchange dxOut(this,false);
|
|
m_strStairHeight=temp;
|
|
DDX_Text(&dxOut,IDC_STAIR_HEIGHTCOMBOX,m_strStairHeight);
|
|
m_nStepNum=(int)(_tstof(m_strStairHeight)/_tstof(m_strStepHeight)+0.5);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM,m_nStepNum);
|
|
m_strStepHeight.Format(_T("%.2f"),::_tstof(m_strStairHeight)/m_nStepNum);
|
|
DDX_Text(&dxOut,IDC_STEP_HEIGHT,m_strStepHeight);
|
|
stepNum1.SetRange(2,m_nStepNum-2);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM1,m_iStepNum1=m_nStepNum/3);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM2,m_iStepNum2=m_nStepNum/3);
|
|
DDX_Text(&dxOut,IDC_STEP_NUM3,m_iStepNum3=m_nStepNum-m_iStepNum1-m_iStepNum2);
|
|
|
|
UpdateImage();
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnClose()
|
|
{
|
|
GetDlgItem(IDCANCEL)->SetFocus();
|
|
CBaseStairDlg::OnClose();
|
|
}
|
|
|
|
|
|
void CDoubleMulStairDlg::OnKFStepNum()
|
|
{
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_STEP_NUM)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-m_nStepNum)<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_STEP_NUM,true);//踏步总数
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFStepNum1()
|
|
{
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_STEP_NUM1)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-m_iStepNum1)<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_STEP_NUM1,true);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFStepNum2()
|
|
{
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_STEP_NUM2)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-m_iStepNum2)<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_STEP_NUM2,true);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFStepNum3()
|
|
{
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_STEP_NUM3)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-m_iStepNum3)<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_STEP_NUM3,true);
|
|
}
|
|
}
|
|
|
|
void CDoubleMulStairDlg::OnKFStepWidth()
|
|
{
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_STEP_WIDTH)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strStepWidth))<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_STEP_WIDTH,true);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFRailDistToSide()
|
|
{
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_RAIL_DISTTOSIDE)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strRailDistToSide))<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_RAIL_DISTTOSIDE,true);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFRailHeight()
|
|
{
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_RAIL_HEIGHT)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strRailHeight))<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_RAIL_HEIGHT,true);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFRailWidth()
|
|
{
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_RAIL_WIDTH)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strRailWidth))<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_RAIL_WIDTH,true);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFSideStairWidth()
|
|
{
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_SIDESTAIR_WIDTH)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strSideStairWidth))<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_SIDESTAIR_WIDTH,true);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFMidStairWidth()
|
|
{
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_MIDSTAIR_WIDTH)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strMidStairWidth))<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_MIDSTAIR_WIDTH,true);
|
|
}
|
|
}
|
|
|
|
void CDoubleMulStairDlg::OnKFSpaceWidth()
|
|
{
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_SPACE_WIDTH)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strSpaceWidth))<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_SPACE_WIDTH,true);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFSlabWidth()
|
|
{
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_FLATFORM_WIDTH)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strSlabWidth))<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_FLATFORM_WIDTH,true);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFSectStepNum()
|
|
{
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_POU_NUM)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-m_iSectStepNum)<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_POU_NUM);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFRailOutDist()
|
|
{//扶手伸出距离
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_RAIL_OUTDIST)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strRailOutDis))<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_RAIL_OUTDIST,true);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFSideRailDist()
|
|
{//边扶手伸出距离
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_EDIT_MIDRAILDIST)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strSideRailDist))<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_EDIT_MIDRAILDIST,true);
|
|
}
|
|
}
|
|
//扶手的处理
|
|
void CDoubleMulStairDlg::OnKFSlabWidthM()
|
|
{//平台中间宽度
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_SLABM_WIDTH)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strSlabWidthM))<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_SLABM_WIDTH,true);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFSlabLength()
|
|
{//边平台长度
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_SLAB1_LENGTH)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strSlabLength))<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_SLAB1_LENGTH,true);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFSlabLengthM()
|
|
{//中平台长度
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_SLABM_LENGTH)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strSlabLengthM))<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_SLABM_LENGTH,true);
|
|
}
|
|
}
|
|
void CDoubleMulStairDlg::OnKFStairWidth2()
|
|
{
|
|
if (GetFocus()!=GetDlgItem(IDCANCEL))
|
|
{
|
|
//modiby by xlc on 090317
|
|
CString strText;
|
|
GetDlgItem(IDC_STAIR2_WIDTH)->GetWindowText(strText);
|
|
if (fabs(_tstof(strText)-_tstof(m_strStairWidth2))<_DIST_SNAP)
|
|
return;
|
|
|
|
UpdateEdit(IDC_STAIR2_WIDTH);
|
|
}
|
|
} |