144 lines
4.3 KiB
C++
144 lines
4.3 KiB
C++
#if !defined(AFX_COLUMNDLG_H__80B96A45_54A8_4780_9387_F7AEF8B89EDE__INCLUDED_)
|
|
#define AFX_COLUMNDLG_H__80B96A45_54A8_4780_9387_F7AEF8B89EDE__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
// ColumnDlg.h : header file
|
|
//
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CColumnDlg dialog
|
|
class TDbColumn;
|
|
class CColumnDlg : public CModelessDialog
|
|
{
|
|
protected:
|
|
CImageDCEx m_image;
|
|
|
|
|
|
// Construction
|
|
public:
|
|
CColumnDlg(CWnd* pParent = NULL); // standard constructor
|
|
|
|
//add by whl,for Object Edit
|
|
bool bAxisExist;//轴网定位点存在
|
|
XPoint oldOffset;//旧偏移
|
|
double m_xDir;//轴网的X轴方向
|
|
|
|
XPoly2D m_polyOutline;//异形柱使用
|
|
static CString m_sBlockName;//构件库
|
|
|
|
// 问题描述:在双击编辑异形柱时,首先弹出构件库,
|
|
// 这是因为Obj2Dlg函数设置了m_iColuType后,OnSelendokColuType收到了消息.
|
|
// 解决方法:添加标记是否是编辑状态的成员变量,在OnSelendokColuType添加判断
|
|
// Add by Zyu on 100412
|
|
bool m_bIsEdit; // 标记是否是编辑状态
|
|
|
|
//add by xlc on 090301
|
|
BOOL m_bLib; //是否GJK中的异型柱
|
|
CString m_strColumAngle;//保留上次角度
|
|
// Dialog Data
|
|
//{{AFX_DATA(CColumnDlg)
|
|
enum { IDD = IDD_COLUMN };
|
|
CComboBox m_ySizeBox;
|
|
CComboBox m_xSizeBox;
|
|
CComboBox m_rotationBox;
|
|
CComboBox m_coluTypeBox;
|
|
/*int m_iColuType;*/ // [11/15/2007 nsh]
|
|
static int m_iColuType;// [11/15/2007 nsh]
|
|
static BOOL m_bChange;// [12/11/2007 nsh] 判断是不是改变了角度的值
|
|
static CString m_sSaveRotation;// [12/11/2007 nsh]
|
|
static BOOL m_bInitFirst;// [12/14/2007 nsh] 是否是第一次加载上一次的操作
|
|
//CString m_csHeight;// [12/14/2007 nsh]
|
|
static CString m_csHeight;// [12/14/2007 nsh]
|
|
CString m_csXSizeText;
|
|
CString m_csYSizeText;
|
|
//}}AFX_DATA
|
|
static CString m_csXOffset;
|
|
static CString m_csXSize;
|
|
static CString m_csRotation;
|
|
static CString m_csYOffset;
|
|
static CString m_csYSize;
|
|
static int m_iMaterial;
|
|
static int m_nInsertMode;
|
|
// [11/15/2007 nsh]
|
|
static TDbColumn *pEntM;//记录上一次的修改的记录
|
|
static TDbColumn *pEntY;//记录异形柱的操作结果
|
|
//----------------------------------------------
|
|
//add by xlc on 070718
|
|
// 可以实现翻转
|
|
// [12/12/2007 nsh]
|
|
static BOOL m_bXAxisMirror,m_bYAxisMirror;//是否沿X轴和Y轴镜像
|
|
//保留上次轴的镜像
|
|
CToolBarCtrl m_toolbar;
|
|
|
|
BOOL GetOutlinePoly(XPoint ptPick, XPoly2D &poly) const;
|
|
void UpdateImage();
|
|
void UpdateRotateImage();
|
|
BOOL UpdateObject(TDbColumn *pColu) const;
|
|
BOOL Obj2Dlg(const TDbColumn *pColu);
|
|
UINT GetInsertMode();
|
|
BOOL PointColumn();
|
|
BOOL LineColumn();
|
|
BOOL RegionColumn();
|
|
BOOL ReplaceColumn();
|
|
// [4/2/2008 nsh]
|
|
BOOL OtherColumn();
|
|
BOOL CheckPline();
|
|
BOOL GetInsertExtend(double& pX, double& pY);
|
|
void ShowChildWindow();
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CColumnDlg)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
void OnChangeInsertMode(UINT id);
|
|
void CreateToolbar();
|
|
|
|
// Add by Zyu on 100322
|
|
bool SelEntFromGJK(); // 从构件库中选择要绘制的实体
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CColumnDlg)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnSelendokColuType();
|
|
afx_msg void OnSelendokRotation();
|
|
afx_msg void OnKillfocusXoffset();
|
|
afx_msg void OnKillfocusXsize();
|
|
afx_msg void OnKillfocusYoffset();
|
|
afx_msg void OnKillfocusYsize();
|
|
afx_msg void OnKillfocusRotation();
|
|
afx_msg void OnSelendokXsize();
|
|
afx_msg void OnSelendokYsize();
|
|
afx_msg void OnPaint();
|
|
afx_msg void OnReplaceColumn();
|
|
afx_msg void OnRegionColumn();
|
|
afx_msg void OnLineColumn();
|
|
afx_msg void OnPointColumn();
|
|
// [4/2/2008 nsh]
|
|
void OnOtherColumn();
|
|
void OnCheckPline();
|
|
afx_msg void OnGJK();
|
|
afx_msg void OnClose();
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
|
|
//add by xlc on 070511
|
|
afx_msg void OnKillfocusHeight();
|
|
//add by xlc on 071105
|
|
afx_msg void OnSelendokMaterial();
|
|
|
|
//}}AFX_MSG
|
|
BOOL OnToolTipText(UINT, NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_COLUMNDLG_H__80B96A45_54A8_4780_9387_F7AEF8B89EDE__INCLUDED_)
|