//-------------------------------------------------------------------------------- // = Copyright // Copyright(c) 2009 2010 lifuyin // All rights reserved // = Author(S) // Ligend@163.com // = Version // Version1.0 // = Date // 2010 1-30 // = Modify Date // //-------------------------------------------------------------------------------- #include "stdafx.h" #include "resource.h" #include "EquipDesignMainBar.h" #include "EquipmentMakeDlg.h" #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif #define WM_NAMERULEREFRUSH (WM_USER + 0X1004) IMPLEMENT_DYNAMIC(CEquipDesignMainBar, CAcUiDockControlBar); CEquipDesignMainBar::CEquipDesignMainBar() { m_pEquipmentMainDlg = NULL; m_pDb = new CUIISQLiteServer; } CEquipDesignMainBar::~CEquipDesignMainBar() { } BEGIN_MESSAGE_MAP(CEquipDesignMainBar, CAcUiDockControlBar) //{{AFX_MSG_MAP(CEquipDesignMainBar) ON_WM_CREATE() ON_WM_CONTEXTMENU() ON_WM_DESTROY() //}}AFX_MSG_MAP END_MESSAGE_MAP() int CEquipDesignMainBar::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CAcUiDockControlBar::OnCreate(lpCreateStruct) == -1) return -1; if (m_pEquipmentMainDlg == NULL) m_pEquipmentMainDlg = new CEquipmentMakeDlg(AcDbObjectId::kNull, this); CString szMdbFile = FilePath::GetSysDir() + _T("\\Plumbing.db"); if (_taccess(szMdbFile, 0x00) != 0x00) { AfxMessageBox(_T("系统没有找到Aec3DMep.db文件!请检查软件是否正确安装!")); return -1; } BOOL bSuccess = m_pDb->InitADOServer(szMdbFile); if (!bSuccess) return -1; m_pEquipmentMainDlg->ShowWindow(SW_SHOW); m_pEquipmentMainDlg->SetAdoDb(m_pDb); return 0; } bool CEquipDesignMainBar::OnClosing() { CAdUiDockControlBar::OnClosing(); acedGetAcadFrame()->ShowControlBar(this, FALSE, FALSE); acedGetAcadFrame()->RecalcLayout(); return false; } void CEquipDesignMainBar::SizeChanged(CRect *lpRect, BOOL bFloating, int flags) { CRect rect = *lpRect; rect.top += 4; //GetClientRect(&rect); if ( m_pEquipmentMainDlg != NULL && ::IsWindow(m_pEquipmentMainDlg->m_hWnd) ) { m_pEquipmentMainDlg->SetWindowPos(NULL, rect.left, rect.top, rect.Width(), rect.Height(), SWP_NOZORDER | SWP_NOACTIVATE); } } void CEquipDesignMainBar::OnContextMenu(CWnd* pWnd, CPoint point) { } void CEquipDesignMainBar::OnDestroy() { m_pEquipmentMainDlg->DestroyWindow(); CAcUiDockControlBar::OnDestroy(); } CEquipDesignMainBar *g_pMainBar = NULL; CEquipmentMakeDlg *g_pMainEquDlg = NULL; #include "parseFamilyForRevit.h" void CEquipDesignMainBar::Start(AcDbObjectId id) { // 转到西南轴侧 SHacedCommand(RTSTR, _T("_view"), RTSTR, _T("_swiso"), NULL); #ifdef ZWCAD SHacedCommand(RTSTR, _T("_SHADEMODE"), RTSTR, _T("_S"), RTNONE); #else SHacedCommand(RTSTR, _T("_vscurrent"), RTSTR, _T("c"), RTNONE); #endif struct resbuf rb; rb.resval.rreal = 100.0; acedSetVar(_T("ltscale"), &rb); if (g_pMainEquDlg == NULL) { CAcModuleResourceOverride myResources; g_pMainEquDlg = new CEquipmentMakeDlg(id, acedGetAcadFrame()); g_pMainEquDlg->ShowWindow(SW_SHOW); g_pMainEquDlg->CenterWindow(); } else { g_pMainEquDlg->m_MainID = id; g_pMainEquDlg->ShowWEquipmentOnTree(); g_pMainEquDlg->ShowWindow(SW_SHOW); g_pMainEquDlg->CenterWindow(); } }