#pragma once #include "resource.h" #include "GsPreviewCtrl.h" #include "AecDbOpening.h" class CMCXGDlg : public CDialog { DECLARE_DYNAMIC(CMCXGDlg) public: CMCXGDlg(CWnd* pParent = NULL); virtual ~CMCXGDlg(); bool SetOpeningData(const OpeningData& data); void GetOpeningData(OpeningData& data); DWDATA* GetData(); enum { IDD = IDD_MCXG_DLG }; CGsPreviewCtrl m_wndPreView; CStatic m_wndTip; CComboBox m_wndComboWidth; CComboBox m_wndComboNo; CString m_sNo; CString m_sWidth; CString m_sMaterial; CString m_sProvider; double m_dHeight; double m_dBomEl; protected: virtual void DoDataExchange(CDataExchange* pDX); DECLARE_MESSAGE_MAP() afx_msg LRESULT OnStaticPreview(WPARAM wparam,LPARAM lparam); public: afx_msg void OnBnClickedOk(); virtual BOOL OnInitDialog(); private: void InitGenDoorWidthCombo(); void ShowSlide(); BOOL CreateBlockRecord(); BOOL CreateBlockRecord3d(); bool GetActiveViewPortInfo (AcDbDatabase *pDb, ads_real &height, ads_real &width, AcGePoint3d &target, AcGeVector3d &viewDir, ads_real &viewTwist, bool getViewCenter); void SetViewTo(AcGsView *pView, AcDbDatabase *pDb, AcGeMatrix3d& viewMat); Acad::ErrorStatus InitDrawingControl (AcDbDatabase *pDb, const TCHAR *space = ACDB_MODEL_SPACE); Acad::ErrorStatus InitDrawingControlWin(AcDbDatabase *pDb, const TCHAR *space); Acad::ErrorStatus InitDrawingControlDoor(AcDbDatabase *pDb, const TCHAR *space); private: DWDATA m_dwData; CString m_sDwgFile; CString m_sDwg3DFile; AcDbVoidPtrArray m_arpDb; };