Files
envi-code/SourceCode/Code2026/tg_shs/shs_annotate/ManualDimAxisDlg.h
T
2026-09-28 15:28:50 +08:00

95 lines
2.9 KiB
C++

//-----------------------------------------------------------------------------+
// = 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