#ifndef AFX_CDRAWINGLIST #define AFX_CDRAWINGLIST #pragma once #include "resource.h" #include "adui.h" #include "acui.h" #include "afxcmn.h" class TDbSheet; /////////////////////////////////////////////////// class TDrawing { public: CString m_sNo; // 图号 CString m_sName; // 图纸名称 CString m_sPageSize; // 图幅 bool operator <(const TDrawing&d){ return CmpLabel(m_sName,d.m_sName)<0;} bool operator >(const TDrawing&d){return !((*this)m_sNo, pp2->m_sNo); } }; class TRowXData : public WRowData { public: int m_iModel; // 每幅图模型空间包含图幅数 int m_iPaper; // 每幅图图纸空间包含图幅数 CString m_sFilePath; // 文件路径名(全名) PDList m_lstModels; // 模型空间图纸表 PDList m_lstPapers; // 图纸空间图纸表 PDList m_lstSpaces; // 需要显示的的图纸表 }; class DrawingFileWDGrid : public WDGrid { public: DrawingFileWDGrid(){SetNoAppendButton();SetNoDefaultMenu();} protected: virtual bool OnBeforeInsertRow(long i,WDGridRow*&pNewRow)//禁止其它增加行操作 { if (pNewRow!=NULL) delete pNewRow; return false; } }; class DrawingListWDGrid : public WDGrid { protected: void Compositor(); virtual void OnDataChanged(); }; /////////////////////////////////////////////////// // CDrawingList 对话框 class CDrawingList : public CAcUiDialog { DECLARE_DYNAMIC(CDrawingList) public: CDrawingList(CWnd* pParent = NULL); // 标准构造函数 virtual ~CDrawingList(); //{{AFX_DATA enum { IDD = IDD_TITLE_LIST }; BOOL m_bModel; BOOL m_bPaper; //}}AFX_DATA protected: //{{AFX_VIRTUAL virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 virtual BOOL OnInitDialog(); virtual void OnOK(); //}}AFX_VIRTUAL //{{AFX_MSG afx_msg void OnBnClickedAddFile(); afx_msg void OnBnClickedDeleteFile(); afx_msg void OnBnClickedCheckModel(); afx_msg void OnBnClickedCheckPaper(); afx_msg void OnBnClickedButtonSheetName(); afx_msg void OnPaint(); //add by xlc on 090224 afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); //}}AFX_MSG private: DrawingFileWDGrid m_grid; //add by xlc on 080908 XString m_strBlockName; CImageDCEx m_image; BOOL GetBlockName(XString &sBlockName); void UpdatePreview(); // 关键注册位置, BOOL GetRegLocation(XString &sRegLoc) const; // 从注册表读入参数 BOOL ReadParamFromRegistry(); // 把最近的参数写入注册表 BOOL WriteParamToRegistry(); void InitGrid(); void GroupToGrid(TProjectGroupItem *pGroup); void UpdateSpace(); void UpdateRow(int iRow, CString &szFileName, TRowXData *pXD); void GetRowXData(const TCHAR *fpath, TRowXData *&pXD); void GetOneDwgData(const TCHAR* fname, PDList &lstMSpace, PDList &lstPSpace); BOOL GetOneRecordData(AcDbBlockTableRecord *pRecord, PDList &lstSpace); BOOL GetBlockAttribute(AcDbBlockReference *pRef, TDrawing *&pDrawing); BOOL GetLastDrawingList(); CString GetNumberString(int iModel, int iPaper); ////////////////////////////////////////////// DECLARE_MESSAGE_MAP() }; ////////////////////////////////////////////////// #pragma once // CDrawingListNext 对话框 class CDrawingListNext : public CAcUiDialog { DECLARE_DYNAMIC(CDrawingListNext) public: CDrawingListNext(WDGrid &grid, CWnd* pParent = NULL); // 标准构造函数 virtual ~CDrawingListNext(); // 对话框数据 enum { IDD = IDD_TITLE_LISTNEXT }; virtual BOOL OnInitDialog(); afx_msg void OnBnClickedReturn(); afx_msg void OnOK(); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnBnClickedCompositor(); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 private: DrawingListWDGrid m_grid; BOOL m_bInit; CSize m_size; UINT m_cxOldSize; UINT m_cyOldSize; BOOL m_bCompositor; CStringArray m_szArNo; void InitGrid(); void ResetSize(int cx, int cy); BOOL GetSheet(TDbSheet *&pSheet); DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// // CGridSheetDlg dialog class TSheetGrid:public WDGrid { public: TDbSheet *m_pSheet; int m_nRowNum; //表头行数,表头不能被删除 void Read(TDbSheet*pSheet); void Save(); //行事件 virtual bool OnBeforeInsertRow(long i,WDGridRow*&pNewRow); virtual bool OnBeforeDeleteRow(); }; class CGridSheetDlg : public CAcUiDialog { DECLARE_DYNAMIC(CGridSheetDlg) // Construction public: CGridSheetDlg(TDbSheet *pSheet, CWnd* pParent = NULL); // standard constructor // Dialog Data //{{AFX_DATA(CGridSheetDlg) enum { IDD = IDD_DLG_SHEET }; TSheetGrid m_grid; //}}AFX_DATA TDbSheet *m_pSheet; CSize sizeDlg; BOOL m_bInit; BOOL m_bAddFlag; DList lstSelCol; int m_nRowNum; //表头行数,表头不能被删除 UINT m_nOldSizeX, m_nOldSizeY; // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CGridSheetDlg) public: virtual BOOL PreTranslateMessage(MSG* pMsg); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: void ResetSize(); virtual void ConfigGrid();//virtual by whl virtual void OnOK(); // Generated message map functions //{{AFX_MSG(CGridSheetDlg) virtual BOOL OnInitDialog(); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; #endif