#pragma once #include "resource.h" #include "AecDbSymbArrow.h" #include "AecDbSymbElevation.h" #include "AecDbSymbMultiLeader.h" #include "aecdbsymbsection.h" #include "WDGrid.h" class CModelessDialog : public CAcUiDialog//, public CCapBtnWnd { protected: BOOL m_bThickFrame; public: BOOL m_bModeless; UINT m_bChangeDocSwitch;//Use for Setfocus to AutoCAD. CToolTipCtrl m_wndToolTip; BOOL m_bAllowAutoHide; BOOL m_bHide; BOOL m_bAutoHide; int m_nCapHeight; int m_nBorderHeight; int m_nMaxHeight; int m_nYStep; int m_nStepNum;//>0代表正在缩放 int m_nCurStep; CDC *m_pMemDC; CWindowDC *m_pWndDC; CBitmap *m_pBitmap; COLORREF m_clrDraw; // Construction public: DECLARE_DYNAMIC(CModelessDialog) CModelessDialog(UINT nIDTemplate, CWnd* pParent = NULL); // standard constructor void WriteReg(int x, int y); BOOL ReadReg(int &x, int &y); INT_PTR DoModal() { m_bModeless = FALSE; return CAcUiDialog::DoModal(); } bool IsShowNormal()const { return !m_bHide && m_nStepNum == 0; } void MaxShow(); void AnimateMoveWindow(int step); BOOL AddTip(UINT idControl); BOOL AddTip(UINT idControl, const TCHAR *str); void LockAutoHide(); void UnlockAutoHide(); protected: virtual BOOL PreTranslateMessage(MSG* pMsg); virtual BOOL OnInitDialog(); DECLARE_MESSAGE_MAP() afx_msg void OnDestroy(); afx_msg void OnClose(); afx_msg LONG_PTR onAcadKeepFocus(UINT_PTR, LONG_PTR); afx_msg void OnTimer(UINT_PTR nIDEvent); afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point); virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam); int MessageBox(LPCTSTR lpszText, LPCTSTR lpszCaption = NULL, UINT nType = 0); }; class XPushAutoHide { public: BOOL m_bAutoHide; CModelessDialog *m_pDialog; public: XPushAutoHide(CModelessDialog*pDlg); ~XPushAutoHide(); }; class CSectionDlg : public CModelessDialog { DECLARE_DYNAMIC(CSectionDlg) public: CSectionDlg(CWnd* pParent = NULL); virtual ~CSectionDlg(); enum { IDD = IDD_DLG_SECTION }; CString GetSectionNum(); //获得剖切编号 CString GetNumStyle(); //获得剖切编号文字样式 double GetNumHeight(); //获得剖切编号文字高度 CString GetDrawNum(); //获得剖面图号 int GetLocal(); //获得标注位置 int GetDirect(); //获得标注方向 int GetSectionMode(); //获得布置剖面符号的方式 CString GetDrawingStyle(); //获得剖面图号文字样式 double GetDrawHeight(); //获得剖面图号字高 BOOL GetIsShowDrawText(); //是否显示剖面图号 BOOL GetIsChangeType(); void SetIsChangeType(BOOL bIs); virtual BOOL DestroyWindow(); protected: virtual void DoDataExchange(CDataExchange* pDX); virtual BOOL OnInitDialog(); DECLARE_MESSAGE_MAP(); afx_msg void OnBtnBlickA(); afx_msg void OnBtnBlickB(); afx_msg void OnBtnBlickC(); afx_msg void OnBtnBlickD(); afx_msg void OnBnClickDrawNum(); afx_msg void OnBnClickedBtnWordhight(); afx_msg void OnBnClickedBtnDrawingheight(); afx_msg BOOL OnToolTipText(UINT, NMHDR* pNMHDR, LRESULT* pResult); void CheckTypeButton(); //add by lgy 20120525 设置BUTTON显示状态 private: //void createToolBar(); void LoadTextStyle(); //加载文字样式 static CString m_strSectionNum; //剖切编号 static CString m_strStyle; //剖切编号文字样式 static CString m_strHeight; //剖切编号文字字高 static BOOL m_bCheck; //剖面编号选择框 static CString m_strDrawingNum; //剖面编号 static int m_iLocal; //标注位置 static int m_iDirect; //标注方向 static CString m_strDrawingHeight; //剖面图号字高 static CString m_strTextStyle; //剖面图号文字样式 static int m_nSectionMode; //布置剖面符号的方式 CComboBox m_cmbStyleName; //剖切编号文字样式 CComboBox m_cmbDrawStyle; //剖切符号文字样式 //CToolBarCtrl m_toolbar; //绘制方式工具条 BOOL m_bStyeChange; }; class CCharDlg : public CDialog { // Construction public: CCharDlg(CWnd* pParent = NULL); // standard constructor ~CCharDlg(); // Dialog Data //{{AFX_DATA(CCharDlg) enum { IDD = IDD_DIALOG_CHAR }; //CEdit m_edit_char; CComboBox m_combo_type; CString m_character; //}}AFX_DATA // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CCharDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: // Generated message map functions //{{AFX_MSG(CCharDlg) virtual BOOL OnInitDialog(); afx_msg void OnPaint(); afx_msg void OnLButtonUp(UINT nFlags, CPoint point); afx_msg void OnSelchangeComboType(); virtual void OnCancel(); afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point); virtual void OnOK(); //}}AFX_MSG DECLARE_MESSAGE_MAP() void drawPane(); void writechar(char m_char[][3], int count); void drawSmallPane(); void delSmallPane(); BOOL Check(CPoint point); static char m_charGreece[][3]; static char m_charMath[][3]; static char m_charSerial[][3]; static char m_charRomaSerial[][3]; static char m_charSpecific[][3]; static char m_charInterpunction[][3]; CPen m_pen; int m_left, m_top; int m_wndWidth, m_wndHeight; int m_Hdistance, m_Vdistance; int m_countChar, m_indexCombo; CFont *m_pFont; }; class CBaseTextDlg : public CModelessDialog { // Construction public: DECLARE_DYNAMIC(CBaseTextDlg) CBaseTextDlg(UINT IDD, CWnd* pParent = NULL); // standard constructor CString m_strInputText; CToolBar m_toolbar; BOOL GetPosition(int& h, int& l); // Dialog Data //{{AFX_DATA(CBaseTextDlg) CComboBox m_comboStyleName; static CString m_strFontStyle; CString m_strHeight; //}}AFX_DATA // Add by lcf on 2005-06-24 BOOL m_bPost; CWnd *m_pCurWnd; // Add by lcf On 2005-07-01 int m_nOperCode; // sg add 090324,记录调用“词库”时,是否只支持“单行文字” BOOL m_bNeedSingleLineText; BOOL GetPickText(); void GetTextHeight(); virtual CWnd* GetCurWnd() = 0; virtual void UpdateInputText(); virtual void Dlg2Obj(AecXDbSymbWithText *pText); virtual void Obj2Dlg(AecXDbSymbWithText *pText); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CBaseTextDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support virtual void OnOK(); //}}AFX_VIRTUAL afx_msg BOOL OnToolTipText(UINT nID, NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnChar(UINT nID); // ON_COMMAND_RANGE handler afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized); afx_msg void OnClose(); // Implementation protected: void LoadTextStyle(); // Generated message map functions //{{AFX_MSG(CBaseTextDlg) virtual BOOL OnInitDialog(); afx_msg void OnSelchangeComboFongstyle(); afx_msg void OnButtonTextHeight(); //}}AFX_MSG DECLARE_MESSAGE_MAP() protected: static double g_nHeight; }; class CArrowTextDlg : public CBaseTextDlg { // Construction public: DECLARE_DYNAMIC(CArrowTextDlg) CArrowTextDlg(CWnd* pParent = NULL); // standard constructor // Dialog Data //{{AFX_DATA(CArrowTextDlg) enum { IDD = IDD_ARROW_TEXT }; CComboBox m_comboHistory; //}}AFX_DATA static CString g_csArrowSize; static BOOL m_bContinue; // Add by lcf on 2005-06-29 void AddToRecent(); XStringList m_lstHistory; CEdit m_editInputText; static CString m_csText; // sg add 090123,等同与m_strInputText,只起保存作用 static CString m_csText2; // sg add 090108 CComboBox m_comboText2; virtual void Dlg2Obj(AecXDbSymbArrow *pText); virtual void Obj2Dlg(AecXDbSymbArrow *pText); void LoadHisText(); virtual CWnd* GetCurWnd(); virtual void UpdateInputText(); // sg add 090225 // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CArrowTextDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: // Generated message map functions //{{AFX_MSG(CArrowTextDlg) virtual BOOL OnInitDialog(); virtual void OnOK(); afx_msg void OnSelchangeComboHistoryText(); afx_msg void OnSelchangeComboText2(); // sg add 090108 afx_msg void OnSelchangeComboAlignment(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; class CCoordDlg : public CAcUiDialog { DECLARE_DYNAMIC(CCoordDlg) public: CCoordDlg(UINT resId, CWnd* pParent = NULL); // 标准构造函数 virtual ~CCoordDlg(); // 对话框数据 enum { IDD = IDD_COORD }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 virtual BOOL OnInitDialog(); DECLARE_MESSAGE_MAP() public: // [10/22/2007 nsh] static CString m_strAngle; static CCoordDlg * m_pSelf; static BOOL m_bFixAngle; //--end-- static int s_iUnitType; static int s_iDataType; int m_iPreci; int m_iABCoord; int m_nArrowStyle; double m_fAngle; CComboBox m_cmbUnit; CComboBox m_cmbPreci; CButton m_buttonType; CStatic m_staticType; afx_msg void OnCbnSelchangeComboUnit(); afx_msg void OnBnClickedType(); afx_msg void OnNorthThumb(); afx_msg void OnRefPoint(); afx_msg void OnPickNorth(); afx_msg void OnClickRadio(); // [10/22/2007 nsh] afx_msg void OnClickCheck1(); void OnOK(); static bool IsWcsPoint() { return s_iDataType == 0; } static bool IsUcsPoint() { return s_iDataType == 1; } static bool IsRedLinePoint() { return s_iDataType == 2; } afx_msg void OnBnClickedUcs(); }; class CBatchDimDlg : public CModelessDialog { public: DECLARE_DYNAMIC(CBatchDimDlg) CBatchDimDlg(CWnd* pParent = NULL); ~CBatchDimDlg(); enum { IDD = IDD_DLG_DIMSOME }; public: BOOL GetIsPolyVertex(); // 是否是多段线顶点 BOOL GetIsLineVertex(); // 是否是直线、弧线端点 BOOL GetIsElevLoc(); // 是否是标高符号插入点 BOOL GetIsIntersectPt(); // 是否是交点 BOOL GetIsPoint(); // 是否是点 BOOL GetIsCirclePt(); // 是否是圆心点 BOOL GetIsAppointLayer(); CString GetStrLayerName(); void SelectEntInDraw(); public: BOOL m_bPost; // 标记是否当前状态是在从屏幕取实体 protected: virtual void DoDataExchange(CDataExchange* pDX); virtual BOOL OnInitDialog(); DECLARE_MESSAGE_MAP() afx_msg void OnClickAllSelect(); afx_msg void OnClickAllClear(); afx_msg void OnBnClickAppointlayer(); afx_msg void OnClose(); public: afx_msg void OnClickSelectInDraw(); protected: static BOOL m_bPolyVertex; // 多段线端点 static BOOL m_bLineVertex; // 直线、弧线端点 static BOOL m_bElevLoc; // 标高符号插入点 static BOOL m_bIntersectPt; // 交点 static BOOL m_bPoint; // 点 static BOOL m_bCirclePt; // 圆心 static CString m_strDimlayers; // 图层 static BOOL m_bAppoint; CStringArray m_aryAddLayer; // 添加的图层 }; //以下类的定义整理by lgy 20120109 #define WM_GRID_CHANGED WM_USER+1 // sg add 090410 static BOOL g_bHatch = FALSE; // 是否实体填充 static BOOL g_bHasBase = FALSE; // 是否带基线 static BOOL g_bHasLeader = FALSE; // 是否带引线 static BOOL g_bHightWrite = FALSE; // 是否手工输入 // add by zkm static BOOL g_bContinue = TRUE; // 是否连标 static BOOL g_bOrder = FALSE; // 是否自动对齐标注 static BOOL g_bFirstExecute = TRUE; //总图命令,为TZELEV命令默认值使用 static double g_nLeaderLen = 7.0; static double g_nBaseLen = 7.0; // sg add 090209 static BOOL g_bDote = FALSE; // 是否点样式 static BOOL g_bStandard = FALSE; // 多行文字输出,是否规范样式,标高加括号 //modify by lgy 20120111 字高初始化时从程序中读取(即与文字管理一致) //static double g_dTextHeight = 3.5;// 字高 double GetTextHeightByTs(TTextStyle ts); static double g_dTextHeight = GetTextHeightByTs(TS_SYMBOL); // 字高 // sg add 090212 static BOOL g_bParentheses = TRUE; // 传统样式,楼层是否加括号 static BOOL g_bElevSideText = TRUE; // 文字是否齐线端 //modify by lgy 20120111 文字样式初始化应从程序中读取 // sg add 090216 //static CString g_csFontStyle = _T("_TCH_DIM"); // 默认文字样式 CString GetTextStyleName(TTextStyle ts); static CString g_csFontStyle = GetTextStyleName(TS_SYMBOL); // 默认文字样式 // sg add 090220 static BOOL g_nElevType = 0; // 建筑标高为0,总图标高为1 static int g_nElevTextAlign = 0; // 总图,普通标高,文字排列方式 static BOOL g_bUseConversion = FALSE; // 总图,是否自动换算绝对标高 static CString g_csElevConversion = _T("50"); // 总图,换算关系 // sg add 090226 static BOOL g_bCommonElev = TRUE; // 普通标高样式 // sg add 090311 static CString g_csAbsoluteElev = _T("50"); // 绝对标高 static CString g_csRelativeElev = _T(""); // 相对标高或注释 static BOOL g_bElevMidText = TRUE; // 文字居中 // sg add 090313 static TString g_szGridText = _T(""); // 表格内容记忆 // sg add 120608 static BOOL g_bHollow = FALSE; // 是否三角形空心标高符号 static BOOL g_bElevCross = FALSE; // 是否使用十字标高符号 static CString g_csTextLoc = _T("上部"); // 总图标高默认文字位置,不包含普通标高样式 // 标高,sg modify 090209,满足8.0的新需求 class CElevDlg :public CModelessDialog { protected: WDGrid m_grid; public: CElevDlg(AecXDbSymbElevation *pElev); CElevDlg(CWnd* pParent = NULL); virtual ~CElevDlg(); BOOL IsSitePlanDlg() { return TRUE; }//设置为总图标高单独对话框 void SetSitePlanDlg(BOOL bSitePlan);//设置为总图标高单独对话框 // sg add 120609,下面这些函数用于提供外界与上面定义的静态变量交互使用 BOOL IsHightWrite() const; BOOL IsHasBase() const; BOOL IsHasLeader() const; void SetLeaderLen(double dLen); void SetBaseLen(double dLen); BOOL IsOrder() const; virtual void DoDataExchange(CDataExchange*pDX); virtual BOOL OnInitDialog(); virtual void OnOK(); // add by zkm void SetEntPoint(AecXDbSymbElevation * pElev); // 关联标注对象 void UpdataEnt(); void UpdateEntText(); void SetGridEnableWrite(BOOL bWrite); // 表格设置可写 void UpdateGrid(double newValue); // 更新Grid值 void UpDateGridToStar(); // 清空标注的附加内容 void SetArchElevGrid(); // sg add 090222,设置表格行数、表头 void InitGridAndTextFromEnt(); // sg add 090222,用对象中的文字内容,填充表格 void SetOrderFa(BOOL bOrder); void GetTextHeight(); // sg add 090209,获取文字字高 void LoadTextStyle(); // sg add 090209,加载文字样式 void SetTabCurPage1(); // sg add 090220,设置当前标高页面控件显示情况 void SetTabCurPage2(); // sg add 090227,强制对标高当前选择页面进行规定 void SetShowByUseConversion(); // sg add 090311,根据是否自动换算,设置各控件是否显示 void SetTextLocationByStyle(); // sg add 090311 BOOL IsDigitEle(const XString &sText); // sg add 090223,判断输入内容是否是数字 void CalAbsoluteElev(); // sg add 090223,用换算关系、相对标高,计算绝对标高 void CalRelativeElev(); // sg add 090312,用换算关系、绝对标高,计算相对标高 DECLARE_MESSAGE_MAP() virtual void PostNcDestroy() { if (m_bDlgType)delete this; } afx_msg void OnPickHatch(); afx_msg void OnPickBaseLine(); afx_msg void OnPickLeadLine(); afx_msg void OnOrder(); afx_msg void OnContinueDim(); afx_msg void OnPrecision(); afx_msg void OnDestroy(); afx_msg void OnClose(); afx_msg void OnActivate(UINT nState, CWnd*pWndOther, BOOL bMinimized); afx_msg void OnPickCheckWriter(); void OnCheckHatch(); // 以下三个函数未使用 void OnCheckBaseLine(); void OnCheckLeader(); afx_msg void OnPickDote(); // sg add 090209,圆点样式 afx_msg void OnPickHollow(); // sg add 120608,三角形空心标高符号 afx_msg void OnPickCommonElev(); // sg add 090226,普通样式 afx_msg void OnButtonTextHeight(); // sg add 090212,字高、文字样式 afx_msg void OnPickCross(); //十字标高符号 afx_msg void OnSelchangeComboFongstyle(); afx_msg void OnSelchangeComboTextLoc(); // sg add 120608,总图标高默认文字位置,不包含普通标高样式 afx_msg void OnSelchangeComboTextHeight(); afx_msg void OnEditchangeComboTextHeight(); afx_msg void OnBnClickedSideText(); // sg add 090217,齐线端、规范样式、加括号 afx_msg void OnBnClickedStandard(); afx_msg void OnBnClickedParentheses(); afx_msg void OnBnClickedUseConversion(); // sg add 090222,自动计算换算标高 afx_msg void OnChangeEditConversion(); // sg add 090223,修改换算关系值 afx_msg void OnSelchangeTabElevType(NMHDR* pNMHDR, LRESULT* pResult); // sg add 090220,切换标高类型 afx_msg void OnRadioElevAlignType1(); // sg add 090224,上下排列 afx_msg void OnRadioElevAlignType2(); // sg add 090301,左右排列 afx_msg void OnBnClickedUpText(); // sg add 090311,文字居中 afx_msg void OnChangeEditAbsoluteElev(); // sg add 090311,修改绝对标高 afx_msg void OnChangeEditRelativeElev(); // sg add 090311,修改相对标高 afx_msg void OnButtonAddMutiElev(); // sg add 090401,调用自动多层标高 public: static CElevDlg *g_pElevDlg; AecXDbSymbElevation *m_pElev; BOOL m_bUpdateText; BOOL m_bHatchTou; // 当拖动引线长度时控制填充按钮不可用 BOOL m_bOrderTou; // 选择第一点时对齐不可选(无对齐目标) BOOL m_bDlgType; // FALSE 模态 TRUE 非模态 CString m_csTextHeight; // sg add 090209,字高、字体样式、文字位置 CString m_csFontStyle; CString m_csTextLoc; protected: enum { IDD = IDD_ELEV }; CButton m_ButHatch; CButton m_ButBaseLine; CButton m_ButLeadLine; CButton m_ButContinue; CButton m_ButOrder; CComboBox m_ComBox; CButton m_Rider; CButton m_ButDote; // sg add 090209,圆点样式 CButton m_ButHollow; // sg add 120608,空心三角形地坪标高 CComboBox m_cmbTextHeight; // sg add 090209,字高、字体样式、文字位置 CComboBox m_cmbStyleName; CComboBox m_cmbTextLoc; CTabCtrl m_Tab; // sg add 090220,属性页 CButton m_ButCommon; // sg add 090226,普通标高样式 CButton m_ButCross; //jsx add 160513,十字样式标高 protected: void InitData(); void UpdateBitmap(); // 该函数无实现 BOOL m_bSitePlanDlg; //设置总图标高独立对话框 }; class CLeaderDlg : public CBaseTextDlg { // Construction public: DECLARE_DYNAMIC(CLeaderDlg) CLeaderDlg(BOOL bEdit, CWnd* pParent = NULL); // standard constructor CLeaderDlg(BOOL bEdit, UINT resID, CWnd*pParent = NULL); virtual void Dlg2Obj(AecXDbSymbMultiLeader *pText); virtual void Obj2Dlg(AecXDbSymbMultiLeader *pText); void SetCheckBoxStatus(BOOL bEnableFlag = TRUE); // Dialog Data //{{AFX_DATA(CLeaderDlg) enum { IDD = IDD_LEADER_TEXT }; CComboBox m_comboInputText; CComboBox m_comboInputText1; //modify by lgy 20120206 固定角度要有记忆功能 //CString m_sFixAngle; //BOOL m_bFixAngle; static CString m_sFixAngle; static BOOL m_bFixAngle; //}}AFX_DATA static CString g_csArrowSize; static CString m_strInputUp; static CString m_strInputDown; static BOOL m_bContinue; // Add by lcf on 2005-06-29 static BOOL m_bAllPtsOnLine; // sg add 090327,是否将其他标注点都绘制在一条引线上 static int m_nTextAlign; // sg add 090402,增加文字相对于基线的对齐方式 static int s_iLeaderStyle; //引线平行复选框 add by lxb on 111229 int GetLeaderStyle(); void AddToRecent(); XStringList m_lstHistory, m_lstHistory1; BOOL m_bEditObj; // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CLeaderDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL virtual CWnd* GetCurWnd(); virtual void UpdateInputText(); // Implementation protected: void LoadHisText(); // Generated message map functions //{{AFX_MSG(CLeaderDlg) virtual BOOL OnInitDialog(); virtual void OnOK(); afx_msg void OnUnChangeAngle(); afx_msg void OnCHKOnline(); afx_msg void OnCHKLeader(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; class CEditLeaderDlg : public CLeaderDlg { public: DECLARE_DYNAMIC(CEditLeaderDlg) CEditLeaderDlg(CWnd *pParent = NULL); enum { IDD = IDD_EDIT_LEADER }; DECLARE_MESSAGE_MAP() afx_msg void OnBnClickedAdddim(); afx_msg void OnBnClickedCheckOnline(); afx_msg void OnBnClickedChkEditleaer(); }; class CCloudLineDlg : public CModelessDialog { DECLARE_DYNAMIC(CCloudLineDlg) public: CCloudLineDlg(CWnd* pParent = NULL); ~CCloudLineDlg(); enum { IDD = IDD_DLG_CLOUDLINE }; public: BOOL GetIsDrawing(); // 手绘还是普通 BOOL GetIsEdition(); // 是否显示版次 double GetMaxValue(BOOL bAsPaperUnit = TRUE); double GetMinValue(BOOL bAsPaperUnit = TRUE); double GetEndWidth(); void GetTextParam(BOOL &bHasText, CString &csText, double &dHeight, AcDbObjectId &idTextStyle); int GetDrawLineStyle(); // 绘制云线的方式 // 是否改变绘制方式 bool GetIsChangeType(); void SetIsChangeType(bool bIs); virtual BOOL DestroyWindow(); public: void GetCloudLinePoly(const XCurveSegment &cvSegment, XPoly2D &polyModi); void GetCloudLinePoly(const XPoly2D &polyOld, XPoly2D &polyModi); protected: virtual void DoDataExchange(CDataExchange* pDX); virtual BOOL OnInitDialog(); DECLARE_MESSAGE_MAP(); afx_msg void OnClickEdition(); afx_msg void OnClickEditionA(); afx_msg void OnClickEditionB(); afx_msg void OnClickEditionC(); afx_msg void OnClickEditionD(); afx_msg void OnClickBtnTextHeight(); afx_msg BOOL OnToolTipText(UINT, NMHDR* pNMHDR, LRESULT* pResult); //void createToolBar(); // 创建工具条 void InitTextType(); // 初始化文字类型 void CheckTypeButton(); // add by lgy 20120522 设置BUTTON显示状态 protected: static BOOL m_bCommon; // 控制是手绘还是普通 static int m_iMaxValue; // 最大弧长 static int m_iMinValue; // 最小弧长 static CString m_strType; // 文字样式 static CString m_strEdition;// 版次文字 static CString m_strHeight; // 字高 static BOOL m_bEdit; // 是否编辑版次 static int m_iDrawLineStyle;// 绘制云线的方式 CComboBox m_cmbDrawStyle; bool m_bStyeChange; // 保存绘制云线的方式是否改变 //CToolBarCtrl m_toolbar; }; class CCharToolbarDlg : public CModelessDialog { public: DECLARE_DYNAMIC(CCharToolbarDlg) CCharToolbarDlg(UINT IDD, CWnd* pParent = NULL); // standard constructor CString m_strInputText; CToolBar m_toolbar; CWnd* m_ctrlInputText; BOOL m_bNeedSingleLineText; BOOL GetPosition(int& h, int& l); int m_nOperCode; BOOL GetPickText(); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support afx_msg BOOL OnToolTipText(UINT nID, NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnChar(UINT nID); // ON_COMMAND_RANGE handler protected: virtual BOOL OnInitDialog(); DECLARE_MESSAGE_MAP() }; class AecXDbDrawingName; class CDrawingNameDlg : public CCharToolbarDlg { // Construction public: DECLARE_DYNAMIC(CDrawingNameDlg) CDrawingNameDlg(BOOL bEdit, CWnd* pParent = NULL); // standard constructor // Dialog Data //{{AFX_DATA(CDrawingNameDlg) enum { IDD = IDD_DRAWING_NAME, IDD1 = IDD_DRAWING_NAME1}; CComboBox m_comboName; CComboBox m_comboScale; CComboBox m_comboStyleName1; CComboBox m_comboStyleName2; static CString m_csScaleText; static CString m_strFontStyle1; static CString m_strFontStyle2; static CString m_strHeight1; static CString m_strHeight2; static int m_nStyle; static BOOL m_bNoScale; static BOOL m_bContinue; //}}AFX_DATA BOOL m_bPost; bool m_bChangeCurTextStyle; XStringList m_lstStyle, m_lstHistory; double GetTextHeight2() { return _tstof(m_strHeight2); }//ok void Dlg2Obj(AecXDbDrawingName* pDrawingName); void Obj2Dlg(AecXDbDrawingName* pDrawingName); void GetTextHeight(); void AddToRecent(); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CDrawingNameDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support virtual BOOL OnInitDialog(); virtual void OnOK(); //}}AFX_VIRTUAL // Implementation public: //virtual BOOL DestroyWindow(); protected: //CGsPreviewCtrl mPreviewCtrl; //AcDbDatabase mPreviewDb; //bool bPreviewReady; int m_nHeightType; //void UpdatePreview(); //void Draw(AcDbBlockTableRecord*pSpace, AcGePoint3d¢er, double&length, double &width); virtual const TCHAR *GetHistoryFileName(); void LoadHisText(); void LoadTextStyle(); // Generated message map functions //{{AFX_MSG(CDrawingNameDlg) afx_msg void OnBnClickedUpdate(); afx_msg void OnCbnSelchangeComboHeight1(); afx_msg void OnCbnSelchangeComboHeight2(); afx_msg void OnButtonTextHeight1(); afx_msg void OnButtonTextHeight2(); afx_msg void OnCbnSelchangeNameList(); afx_msg void OnCbnSelchangeScaleList(); afx_msg void OnBnClickedNoScale(); afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized); afx_msg void OnClose(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; class AecXDbSymbDrawingIndex; class CDrawingIndexDlg : public CModelessDialog { DECLARE_DYNAMIC(CDrawingIndexDlg) public: CDrawingIndexDlg(CWnd* pParent = NULL); virtual ~CDrawingIndexDlg(); enum { IDD = IDD_DRAWINGINDEX_TEXT }; virtual BOOL OnInitDialog(); afx_msg void OnBnClickedOk(); afx_msg void OnBnClickedChkScale(); afx_msg void OnBnClickedBtnFonthight(); afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized); afx_msg void OnClose(); CString GetIndexLabel(); CString GetDrawingLabel(); CString GetTextStyle(); CString GetScaleText(); double GetTextHight(); bool IsDrawScale(); BOOL IsOpTextHeight(); void TextHight(); void UpdateDataEx(); void Obj2Dlg(AecXDbSymbDrawingIndex *pEnt); void Dlg2Obj(AecXDbSymbDrawingIndex* pEnt); //add by lgy 20120111 返回比例的文字样式 CString GetScaleStyle(); protected: //add by lgy 20120110 根据对话框是模态对话框还是非模态对话框调整其大小 void AdjustDlgRect(); virtual void DoDataExchange(CDataExchange* pDX); DECLARE_MESSAGE_MAP() void LoadTextStyle();//加载文字样式 private: static CString s_sIndexLabel; //索引编号 static CString s_sDrawingLabel; //索引图号 static CString s_sTextStyle; //文字样式 //modify by lgy 20120206 索引图名中比例应该设置成为1:的形式 //static int s_iScale; //比例值 static CString s_strScale; //比例值 static double s_dTextHight; //字高 static int s_iCheck; //记录比例设置 //add by lgy 20120110 保存新添加文字样式 static CString s_sWorldStyle; //存在比例标识(模态显示) BOOL m_bScale; //对话框退出标志 bool m_bClose; //点击字高标识 BOOL m_bTextHeight; // sg add 120706,文字样式控制变量 CComboBox m_cmbFontStyle; CComboBox m_cmbWordStyle; }; class AecXDbSymbIndexPointer; 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(AecXDbSymbIndexPointer *pText); virtual void Obj2Dlg(AecXDbSymbIndexPointer *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 AecXDbSymbComposing; class CComposingDlg : public CBaseTextDlg { // Construction public: DECLARE_DYNAMIC(CComposingDlg) CComposingDlg(CWnd* pParent = NULL); // standard constructor virtual void Dlg2Obj(AecXDbSymbComposing *pText); virtual void Obj2Dlg(AecXDbSymbComposing *pText); // Dialog Data //{{AFX_DATA(CComposingDlg) enum { IDD = IDD_COMPOSING_TEXT }; CEdit m_editInputText; // int m_nSide; // sg delete 081103 //}}AFX_DATA static BOOL m_bContinue; // Add by lcf on 2005-06-29 static int m_nSide; // sg add 081103,保存上次的“标注方式” // add by xly on 100916 支持圆点标注 static BOOL m_bHasCirPoint; // 是否有圆点 static CString m_csPointSize; // 圆点大小 BOOL m_bHasPoint; // 是否有标注点,对象编辑时使用 CString m_csPointSizeTemp;// 圆点大小标记 // add by xly on 100916,设置对话框控件不可用 void SetLableEnable(BOOL bShow); AecXDbSymbComposing *m_pComposing; // add by xly on 101227 对象编辑时使用 // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CComposingDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL virtual CWnd* GetCurWnd(); // Implementation protected: // Generated message map functions //{{AFX_MSG(CComposingDlg) virtual BOOL OnInitDialog(); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnHasPoint(); // add xly on 100916 afx_msg void OnButtonAddPoint();// add by xly on 100921 afx_msg void OnKillFocusPointSize();// add by xly on 101221 //}}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 AecXDbSymbIndexPointer *m_pTextAttached; // 设置关联的TDbSymbIndexPointer void AttachObject(AecXDbSymbIndexPointer *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() }; class CEditSectionDlg : public CModelessDialog { DECLARE_DYNAMIC(CEditSectionDlg) public: CEditSectionDlg(CWnd *pParent = NULL); virtual ~CEditSectionDlg(); enum { IDD = IDD_DLG_EDITSECTION }; CString GetSectionNum(); //获得剖切编号 CString GetNumStyle(); //获得剖切编号文字样式 double GetNumHeight(); //获得剖切编号文字高度 CString GetDrawNum(); //获得剖面图号 int GetLocal(); //获得标注位置 int GetDirect(); //获得标注方向 CString GetDrawingStyle(); //获得剖面图号文字样式 double GetDrawHeight(); //获得剖面图号字高 BOOL GetIsShowDrawText(); //是否显示剖面图号 void Dlg2Obj(AecXDbSymbSection *pSection); void Obj2Dlg(AecXDbSymbSection *pSection); protected: virtual void DoDataExchange(CDataExchange *pDX); virtual BOOL OnInitDialog(); DECLARE_MESSAGE_MAP(); afx_msg void OnBnClickDrawNum(); afx_msg void OnBnClickedBtnWordhight(); afx_msg void OnBnClickedBtnDrawingheight(); private: void SetButtonNarrate(); //布置剖面符号方式按钮的说明 void SetButtonState(); //设置哪个按钮被选中 void LoadTextStyle(); //加载文字样式 static CString m_strSectionNum; //剖切编号 static CString m_strStyle; //剖切编号文字样式 static CString m_strHeight; //剖切编号文字字高 static BOOL m_bCheck; //剖面编号选择框 static CString m_strDrawingNum; //剖面编号 static int m_iLocal; //标注位置 static int m_iDirect; //标注方向 static CString m_strDrawingHeight; //剖面图号字高 static CString m_strTextStyle; //剖面图号文字样式 CComboBox m_cmbStyleName; //剖切编号文字样式 CComboBox m_cmbDrawStyle; //剖切符号文字样式 AecXDbSymbSection *m_pSection; static BOOL m_bSection; };