#include "resource.h" class CDimScaleZoneDlg : public CDialog { DECLARE_DYNAMIC(CDimScaleZoneDlg) public: CDimScaleZoneDlg(CWnd* pParent = NULL); CDimScaleZoneDlg(const int &numerator , const int &denominator , const AcDb::UnitsValue &drawUnits , const AcDb::UnitsValue &dimUnits , CWnd *pParent = NULL); virtual ~CDimScaleZoneDlg(); enum { IDD = IDD_DIM_SCALE_ZONE_DLG }; protected: virtual void DoDataExchange(CDataExchange* pDX); virtual BOOL OnInitDialog(); DECLARE_MESSAGE_MAP() AcDb::UnitsValue getUnitsByIdx(const int &idx); int getIdxByUnits(const AcDb::UnitsValue &un); public: afx_msg void OnBnClickedOk(); public: int getNumerator(); int getDenominator(); AcDb::UnitsValue getDrawUnits(); AcDb::UnitsValue getDimUnits(); static void start(); static void dbl(); static bool hitTest(const AcGePoint3d &pt , double &dScale , AcDb::UnitsValue &drawUnits , AcDb::UnitsValue &dimUnits); private: int m_iNumerator; // 分子 int m_iDenominator; // 分母 int m_iDrawUnits; // 绘图单位 int m_iDimUnits; // 标注单位 };