//-----------------------------------------------------------------------------+ // = FileName : CManualDimAxisDlg类 // = Author : xly // = CreateDate : 2010-05-11 // = Description: CManualDimAxisDlg类声明 // 类的功能描述 : 修改逐点轴标命令,实现对话框添加轴标 //-----------------------------------------------------------------------------+ #if !defined(AFX_MANUALDIMAXISDLG_H_) #define AFX_MANUALDIMAXISDLG_H_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "resource.h" ///////////////////////////////////////////////////////////////////////////// // CManualDimAxisDlg dialog // 逐点轴标对话框类,有BUG,暂不从CModelessDialog派生 class CManualDimAxisDlg : public CModelessDialog { DECLARE_DYNAMIC(CManualDimAxisDlg) public: CManualDimAxisDlg(CWnd* pParent = NULL); //{{AFX_DATA(CManualDimAxisDlg) enum { IDD = IDD_MANUALAXIS_DIM }; static BOOL m_bButCon; // 记录checkBox被选择 static int m_iWhichSlected; // 记录单轴或者多轴被选择 static int m_iTxtorGrap; // 记录图形或者文字被选择 CString m_csAxis; // 记录轴号 static CString m_csStartAxis; // 记录起始轴号 static CString m_csEndAxis; // 记录终止轴号 // add by xly on100826 增加引线长度控件的变量控制 static double m_dLeaderLen; // 记录引线长度 //}}AFX_DATA static CString m_sOneAxis; // 用于保存单轴号内容 static CString m_sMutiAxis; // 用于保存多轴号内容 CImageDC m_imgPreview; // 幻灯片预览的DC //{{AFX_VIRTUAL(CManualDimAxisDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); virtual BOOL OnInitDialog(); //}}AFX_VIRTUAL public: // 获得首个轴号内容,试用于单轴号,以及文字类多轴号(圈内部分) CString GetFirstAxis(); // 获得其他轴号内容,试用于文字类多轴号(圈外部分) CString GetOtherAxis(); // 获得全部轴号内容,试用于图形类多轴号,包括首个轴号 void GetAllAxis(CStringArray &aryAxis); // 获得起始、终止轴号内容 void GetStartAndEndAxis(CString &csStart, CString &csEnd); // add by xly on100826 增加引线长度控件的变量控制 // 获得引线的长度 double GetLeaderLen(); protected: // 对用户输入的字符串进行解析,递归调用实现 // csSymb为分隔符,包括全角和半角的逗号,以及空格(多个空格时,自动合并为1个) // csText为等待解析的字符串 // aryAxis为返回的字符串数组:若单轴号,长度为1;若文字类多轴号,长度为2;若图形类多轴号,长度为n void SeparatorNum(CString csText, CString csSymb, CStringArray &aryAxis); // 设置控件显示或隐藏 void SetCWndShowOrHide(); // 设置幻灯片 void SetPicture(); //{{AFX_MSG(CManualDimAxisDlg) afx_msg void OnBnClickedRadSingle(); // 单轴号事件 afx_msg void OnBnClickedRadMuti(); // 多轴号事件 afx_msg void OnBnClickedRadText(); // 文字事件 afx_msg void OnBnClickedRadGraph(); // 图形事件 afx_msg void OnBnClickedChkContinue(); // 连续事件 afx_msg void OnEnKillfocusEditAxisDim(); // 改变标注内容 afx_msg void OnPaint(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; #endif