135 lines
4.5 KiB
C++
135 lines
4.5 KiB
C++
#if !defined(__ARCSTAIRCREATEDLG_H__)
|
|
#define __ARCSTAIRCREATEDLG_H__
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
// ArcStairDlg.h : header file
|
|
//
|
|
#include "BaseStairDlg.h"
|
|
#include "WGroupCtrl.h"
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CArcStairCreateDlg dialog
|
|
// [9/14/2007 nsh]
|
|
class CArcStairCreateDlg : public CBaseStairDlg
|
|
{
|
|
public:
|
|
DECLARE_DYNAMIC(CArcStairCreateDlg)
|
|
CArcStairCreateDlg(CWnd* pParent = NULL);
|
|
|
|
virtual void Dlg2Obj(AcDbEntity *pStep);
|
|
virtual void Obj2Dlg(const AcDbEntity *pStep);
|
|
virtual AcDbEntity *NewObject();
|
|
|
|
virtual bool UpdateEdit(UINT ctrlID,bool bReportError=false);
|
|
BOOL CheckENChange(UINT ctrlID,const CString pStr);
|
|
~CArcStairCreateDlg();
|
|
//增加了对内外径和宽度动态变化的处理,增加了对圆心角、起始角的处理。
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(CArcStairCreateDlg)
|
|
enum { IDD = IDD_ARCSTAIR1 };
|
|
//}}AFX_DATA
|
|
|
|
static CString m_strInRadius;
|
|
static CString m_strStartAngle;
|
|
static CString m_strSweepAngle;
|
|
static CString m_strOutRadius;
|
|
static CString m_strStairWidth;
|
|
static CArcStairCreateDlg *p_selfARC;
|
|
|
|
static int m_nFace;
|
|
static int m_nLocate;
|
|
//以下对外圆半径,内圆半径和角度操作的判断
|
|
static BOOL m_bInsideR;
|
|
static BOOL m_bOutsideR;
|
|
static BOOL m_bAngle;
|
|
//以下是响应ESC的操作变量
|
|
static BOOL m_bUpdateEdit; //对UpdateEdit函数的操作的判断
|
|
static BOOL m_bPRI; //对是否选择内圆半径的操作的判断
|
|
static BOOL m_bPRO; //对是否选择外圆半径的操作的判断
|
|
static BOOL m_bAng; //对是否选择角度的操作的判断'
|
|
//-----------------------
|
|
//以下是判断是否出现输入错误的变量
|
|
static BOOL m_bError;
|
|
//对窗体的中WGroup的定义及其状态的定义
|
|
WGroupCtrl m_WGroup;
|
|
static BOOL m_bWGroupStatus;
|
|
|
|
BOOL m_bEdit;//是否处于编辑状态
|
|
TDbArcStair *m_pBakObj;//备份状态
|
|
BOOL m_bClickClose;//是否关闭对话框退出
|
|
//-----------------------------
|
|
//保留结果
|
|
static int m_isaveStepNum;
|
|
static CString m_strsaveStepHeight;
|
|
static CString m_strsaveStairHeight;
|
|
public:
|
|
BOOL m_w;//无剖断
|
|
BOOL m_x;//下剖断
|
|
BOOL m_d;//双剖断
|
|
BOOL m_u;//上剖断
|
|
private:
|
|
BOOL m_ascent;
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CArcStairCreateDlg)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CArcStairCreateDlg)
|
|
afx_msg void OnBtStartangle();
|
|
afx_msg void OnLocate();
|
|
afx_msg void OnPickRadiusIn();
|
|
afx_msg void OnPickRadiusOut();
|
|
afx_msg void OnKFRadiusOut(); //外圆半径的失去焦点的处理函数
|
|
afx_msg void OnKFRadiusIn(); //内圆半径的失去焦点的处理函数
|
|
afx_msg void OnKFStairWidth(); //梯段宽度失去焦点的处理函数
|
|
afx_msg void OnKFSweepAngle(); //圆心角失去焦点的处理函数
|
|
afx_msg void OnKFStartAngle(); //起始角度失去焦点的处理函数
|
|
afx_msg void OnChangeRadiusOut(); //改变外圆半径的处理函数
|
|
afx_msg void OnChangeRadiusIn(); //改变内圆半径的处理函数
|
|
afx_msg void OnChangeStairWidth(); //改变梯段宽度的处理函数
|
|
afx_msg void OnChangeStartAngle(); //改变起始角度的处理函数
|
|
afx_msg void OnChangeSweepAngle(); //改变圆心角度的处理函数
|
|
//以下为新添加的处理函数
|
|
afx_msg void OnChangeStairHeight();
|
|
afx_msg void OnChangeStepHeight();
|
|
afx_msg void OnChangeStepNum();
|
|
afx_msg void OnKFStairHeight();
|
|
afx_msg void OnKFStepHeight();
|
|
afx_msg void OnKFStepNum();
|
|
// ------------------------- [9/14/2007 nsh]
|
|
virtual BOOL OnInitDialog();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
public:
|
|
afx_msg void OnClose();
|
|
afx_msg void OnNcDestroy();
|
|
afx_msg void OnBnClickedLeftBeam();
|
|
afx_msg void OnBnClickedRightBeam();
|
|
afx_msg void OnBnClickedNoPao();
|
|
afx_msg void OnBnClickedBottomPao();
|
|
afx_msg void OnBnClickedDoublePao();
|
|
afx_msg void OnBnClickedUpSect();
|
|
afx_msg void OnBnClickedAsAscent();
|
|
afx_msg void OnBnClickedDeasil();
|
|
afx_msg void OnBnClickedAnticlockwise();
|
|
afx_msg void OnBnClickedHasSlant();
|
|
afx_msg void OnBnClickedOnGround();
|
|
afx_msg void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
afx_msg void OnBnClickedNeed3d();
|
|
afx_msg void OnBnClickedNeed2d();
|
|
|
|
};
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_ARCSTAIRDLG_H__3B2922DF_1752_460E_83A4_8FF8D18E98EB__INCLUDED_)
|