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

123 lines
3.5 KiB
C++

#if !defined(_SCISSORSSTAIRDLG_H_)
#define _SCISSORSSTAIRDLG_H_
#if _MSC_VER >1000
#pragma once
#endif
//-----------------------------------------------------剪刀楼梯-------------------------------------------
#include "basestairdlg.h"
#include "resource.h"
#include "dbscissorsstair.h"
#include "WGroupCtrl.h"
class CScissorsStairDlg:public CBaseStairDlg
{
public:
//变量
DECLARE_DYNAMIC(CScissorsStairDlg)
enum {IDD=IDD_SCISSORSSTAIRDLG,};
//休息平台
static int m_iSlab;//平台类型
static CString m_strSlabWidth;//平台宽度
//扶手
static CString m_strRailHeight;//扶手高度
static CString m_strRailWidth;//扶手宽度
static CString m_strRailDistToSide;//扶手距边
static CString m_strRailOutDis;//扶手伸出距离(偏移)
static CString m_strRailOutDisMid;//转角伸出距离
static BOOL m_bAutoRail;//自动生成扶手
static BOOL m_bHasOutRail;//有外侧扶手
static BOOL m_bInsideRail;//内侧栏杆
static BOOL m_bHasInsideHandRail;//有内侧扶手
//踏步取齐
static int m_iStepAlign;//取齐方式
//楼侧设置
static int m_iSelectFloor;//选择楼层0-首层,1-中层,2-顶层
//踏步参数
static int m_iStepNum1;//一跑
static int m_iStepNum2;//二跑
static int m_iSectStepNum;//剖切步数
static CString m_strStepWidth;//踏步宽度
//上楼位置
static BOOL m_bUpPostion;//上楼位置
BOOL m_bHasArrow;//标注上楼方向
//楼梯参数
static CString m_strStairWidth;//楼梯总宽
static CString m_strSpaceWidth;//梯间宽
//左右边梁
static BOOL m_bLeftBeam;
static BOOL m_bRightBeam;
//组合窗
BOOL m_bGroupStatus;
WGroupCtrl m_group1;
//保护成员
CSpinButtonCtrl stepNum1;
CSpinButtonCtrl stepNum2;
CSpinButtonCtrl m_ctrlRectStepNumSpin;//剖切步数
CComboBox m_ctrlStairHeight;//楼梯高度
//2D或3D的显示模式
int m_iViewCtrl;
//梯井宽
CString m_strStairWell;//梯井宽
//保留数据
static int m_isaveStepNum;
static CString m_strsaveStepHeight;
static CString m_strsaveStairHeight;
//以下用于备份和判断是否编辑状态的参数
BOOL m_bEdit;//是否处于编辑状态
TDbScissorsStair *m_pBakObj;//备份状态
public:
//接口
CScissorsStairDlg(CWnd*pParent=NULL);
CScissorsStairDlg(UINT idd,CWnd*pParent=NULL);
~CScissorsStairDlg();
virtual BOOL OnInitDialog();
virtual void DoDataExchange(CDataExchange* pDX);
virtual void Obj2Dlg(const AcDbEntity *pStep);//fill the dialog's childcontrols with the attributes of obj
virtual void Dlg2Obj(AcDbEntity *pStep);// in opposition to the up
virtual AcDbEntity *NewObject();
virtual bool UpdateEdit(UINT ctrlID,bool bReportError=false);
virtual void UpdateSel();
protected:
//事件函数
void OnChangeStairHeight();
void OnChangeStairWidth();
void OnChangeStepHeight();
void OnChangeStepWidth();
void OnChangeStepNum();//踏步总数
void OnChangeStepNum1();
void OnChangeStepNum2();
void OnChangeSectStepNum();//剖切步数
void OnChangeRailHeight();
void OnChangeRailWidth();
void OnChangeRailDistToSide();
void OnChangeRailOutDist();//扶手伸出距离
void OnChangeRailOutDistMid();//转角伸出距离
void OnChangeSlabWidth();//休息平台宽度
void OnChangeSpaceWidth();//梯间宽
//梯段按钮的处理
void OnClickStairWidth();
void OnClickSpaceWidth();
void OnSelChangeStairHeight();
//处理失去焦点的事件;
void OnKFStairHeight();
void OnStepHeightKillFocus();//踏步高
void OnKFStairWidth();
void OnKFRailHeight();
void OnKFRailWidth();
void OnKFStepWidth();
void OnKFStepNum1();
void OnKFStepNum2();
void OnKFRailDistToSide();
void OnKFSlabWidth();
void OnKFStepNum();
void OnKFSpaceWidth();
void OnKFRailOutDist();
void OnKFRailOutDistMid();
void OnKFSectStepNum();
afx_msg void OnClose();
DECLARE_MESSAGE_MAP()
};
#endif