#ifndef _TEXPORTFILE_DLG_H_ #define _TEXPORTFILE_DLG_H_ #include "stdafx.h" #include "acestext.h" #include "resource.h" #define IDC_FILTER_TYPE 10000 #define IDC_FILTER_DESC 10001 // sg add 111123,根据9.0需求,修改了“图形导出”对话框截面,增加了CAD版本选择的文本框和下拉列表 #define IDC_CADVER_TYPE 10002 #define IDC_CMB_CADVER_TYPE 10003 // sg add 120307,根据9.0需求,在“批量转旧”对话框界面上,增加是否自动增加后缀的复选框 #define IDC_CHK_POSTFIX 10004 extern int g_nFilterType; extern int g_nDividerFilter; extern int g_nCurtainFilter; extern int g_nFillFilter; extern int g_nFill1Filter; extern int g_nFill2Filter; extern int g_nBrickFilter; extern int g_nDownGradeSaveCadVer; extern int g_nBatchSaveCadVer; extern int g_nPostFix; extern int g_nBatchSaveTgVer; class CTArchFileDialog; class TViewportTableData { public: TViewportTableData(AcGePoint3d ptCen, AcGePoint3d ptOrg, AcGeVector3d vtX, AcGeVector3d vtY, int nNum = 1) :m_ptCen(ptCen), m_ptOrg(ptOrg), m_vtX(vtX), m_vtY(vtY), m_nVPNum(nNum) {}; TViewportTableData(): m_nVPNum(1){}; ~TViewportTableData(){}; public: AcGePoint3d m_ptCen; AcGePoint3d m_ptOrg; AcGeVector3d m_vtX; AcGeVector3d m_vtY; int m_nVPNum; }; // “图形导出”中的“配置”对话框 class CSaveFilter: public CDialog { public: int m_nDividerFilter; int m_nCurtainFilter; int m_nFillFilter; int m_nFill1Filter; int m_nFill2Filter; int m_nBrickFilter; public: CSaveFilter(CWnd* pParent = NULL); static void PreSave(AcDbDatabase* pDb); //{{AFX_VIRTUAL(CSaveFilter) protected: virtual void DoDataExchange(CDataExchange* pDX); //}}AFX_VIRTUAL protected: //{{AFX_MSG(CSaveFilter) virtual BOOL OnInitDialog(); virtual void OnOK(); //}}AFX_MSG }; // 导出内容下拉列表 class CFilterCombo:public CComboBox { public: CTArchFileDialog *m_pDialog; public: CFilterCombo(){} virtual BOOL OnCommand(WPARAM wParam,LPARAM lParam); }; // CAD版本选择下拉列表 class CSelCADCombo: public CComboBox { public: CSelCADCombo(){} virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam); public: int nDlgType; // 0为图形导出使用,1为批量转旧使用 }; // 自动添加文件名后缀的CHECK BOX class CPostFixCheck: public CButton { public: CPostFixCheck() {} public: DECLARE_MESSAGE_MAP() afx_msg void OnLButtonDown(UINT nFlags, CPoint point); }; // 图形导出对话框,从标准的文件保存对话框派生 class CTArchFileDialog: public CFileDialog { public: // 导出内容选择 int m_nFileType; CFilterCombo m_comboFilter; CStatic m_staticFilter; // sg add 111123,增加“CAD”版本选择的功能 CStatic m_staticCADVer; CSelCADCombo m_comboCADVer; public: CTArchFileDialog(const TCHAR *szDefault = NULL, int idx = 1); // sg add 111206,根据当前软件的版本,确定可以支持导出的CAD版本文件格式 void GetDownloadACADVer(CStringArray &aryCADVer) const; void ChangeType(int type); // 获得保存的版本号 int GetSaveVersion() const; protected: //{{AFX_MSG(CTArchFileDialog) virtual BOOL OnInitDialog(); virtual void OnTypeChange(); //}}AFX_MSG }; // sg add 120307,根据9.0需求,需要对批量转旧命令的对话框也进行一下修改,参考图形导出来做 class CTArchBatchSaveAsFileDialog: public CFileDialog { public: CTArchBatchSaveAsFileDialog(const TCHAR *szFolder = NULL, const TCHAR *szTitle = NULL); ~CTArchBatchSaveAsFileDialog(); public: // “CAD”版本选择的功能 CStatic m_staticCADVer; CSelCADCombo m_comboCADVer; // 文件名后缀 CPostFixCheck m_chkPostFix; //LH 2012.9.7 添加文件列表缓存变量 TCHAR* m_lpFile; public: // 根据当前软件的版本,确定可以支持导出的CAD版本文件格式 void GetDownloadACADVer(CStringArray &aryCADVer) const; // 获得要保存的版本号 int GetSaveVersion() const; // 获得后缀名 void GetPostFixName(XString &szPostFix) const; // 获得要导出的文件名 void GetBatchSaveFiles(XStringList &lstFiles) const; // 获得选择的文件夹 void GetSelFileFolder(XString &szRet) const; protected: //{{AFX_MSG(CTArchBatchSaveAsFileDialog) virtual BOOL OnInitDialog(); virtual void OnTypeChange(); //}}AFX_MSG }; #endif // _TEXPORTFILE_DLG_H_