134 lines
4.1 KiB
C++
134 lines
4.1 KiB
C++
#if !defined(AFX_INDEXDIMDLG_H__E7579A44_48D5_4078_AC00_0945ED1AD785__INCLUDED_)
|
|
#define AFX_INDEXDIMDLG_H__E7579A44_48D5_4078_AC00_0945ED1AD785__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
// IndexDimDlg.h : header file
|
|
//
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CIndexDimDlg dialog
|
|
#include "Resource.h"
|
|
#include "BaseTextDlg.h"
|
|
|
|
class CIndexDimDlg : public CBaseTextDlg
|
|
{
|
|
// Construction
|
|
public:
|
|
DECLARE_DYNAMIC(CIndexDimDlg)
|
|
CIndexDimDlg(BOOL bEdit, CWnd* pParent = NULL); // standard constructor
|
|
CIndexDimDlg(BOOL bEdit, UINT Id, CWnd* pParent = NULL);
|
|
virtual void Dlg2Obj(TDbSymbIndexPointer *pText);
|
|
virtual void Obj2Dlg(TDbSymbIndexPointer *pText);
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(CIndexDimDlg)
|
|
enum { IDD = IDD_INDEXDIM_TEXT };
|
|
CComboBox m_comboInputText;
|
|
CComboBox m_comboInputText1;
|
|
CString m_sFixAngle;
|
|
BOOL m_bFixAngle;
|
|
//}}AFX_DATA
|
|
static CString m_strInputUp;
|
|
static CString m_strInputDown;
|
|
static CString m_strIndex;
|
|
static CString m_strDrawing;
|
|
|
|
XStringList m_lstHistory, m_lstHistory1;
|
|
static int m_iIndexType;
|
|
BOOL m_bEditObj;
|
|
|
|
static BOOL m_bContinue; // Add by lcf on 2005-06-29
|
|
static BOOL m_bAddIndex; // sg add 090122,是否添加索引范围
|
|
static int m_nTextAlign; // sg add 090402,增加文字相对于基线的对齐方式
|
|
static BOOL m_bDimOnExtent; // lgh add 101216, 是否在延长线上标注文字
|
|
static BOOL m_bMoreCut; // lgh add 101216,是否绘制多段剖切线
|
|
static BOOL m_bAddTurn; // lgh add 101216, 是否添加一个转折点
|
|
static CString m_strDimStyle; // lgh add 101216, 标注文字样式。
|
|
CComboBox m_cmbDimStyle; // lgh add 101215, 标注文字样式
|
|
|
|
void AddToRecent();
|
|
void UpdateVisible(BOOL bVisible);
|
|
|
|
void SetSourceExtentVisible(BOOL bVisible); // sg add 090415,设置“添加索引范围”是否可见
|
|
// lgh add 101220,获取文字的属性,用于计算延长线的长度。
|
|
BOOL GetExtendsProp(CString &strUp, CString &strDown, double &dHei, AcDbObjectId &textStyle);
|
|
// 剖切索引绘制时的界面显示
|
|
void SetSectRunView(BOOL bVisible);
|
|
|
|
// 分别获取上不标注和下部标注的长度(绝对长度)
|
|
double GetUpDimLen();
|
|
double GetDownDimLen();
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CIndexDimDlg)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
|
|
// Implementation
|
|
protected:
|
|
void LoadHisText();
|
|
virtual CWnd* GetCurWnd();
|
|
virtual void UpdateInputText();
|
|
void LoadDimTextStyle();
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CIndexDimDlg)
|
|
virtual BOOL OnInitDialog();
|
|
virtual void OnOK();
|
|
afx_msg void OnCheckAngle();
|
|
void ShowFixAngle(); // [11/12/2007 nsh]
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
class CEditIndexDimDlg : public CIndexDimDlg
|
|
{
|
|
// Construction
|
|
public:
|
|
CEditIndexDimDlg(CWnd* pParent = NULL); // standard constructor
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(CEditIndexDimDlg)
|
|
enum { IDD = IDD_EDIT_INDEXDIM };
|
|
// NOTE: the ClassWizard will add data members here
|
|
//}}AFX_DATA
|
|
|
|
TDbSymbIndexPointer *m_pTextAttached;
|
|
|
|
// 设置关联的TDbSymbIndexPointer
|
|
void AttachObject(TDbSymbIndexPointer *pText);
|
|
// 调整延长线属性
|
|
void AdjustExtentProp();
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CEditIndexDimDlg)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CEditIndexDimDlg)
|
|
// NOTE: the ClassWizard will add member functions here
|
|
//}}AFX_MSG
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnAddCut();
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
|
|
double CalcTextLen(const CString &sText, const AcDbObjectId &styleId, double dHei, int iWider);
|
|
double CalcMTextLen(const CString &sText, const AcDbObjectId &styleId, double dHei, double dWid, int iWider);
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_INDEXDIMDLG_H__E7579A44_48D5_4078_AC00_0945ED1AD785__INCLUDED_)
|