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

190 lines
3.9 KiB
C++

#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_