#include "stdafx.h" #include "SBGZDlg.h" #include "AecDbEntityBase.h" #include "AecMInterfaces.h" #include "AecDbEwFitting.h" IMPLEMENT_DYNAMIC(CSBGZDlg, CDialog) CSBGZDlg::CSBGZDlg(CWnd* pParent /*=NULL*/) : CDialog(CSBGZDlg::IDD, pParent) { m_pEqu = NULL; m_nIndex1 = -1; m_pMInf = NULL; } CSBGZDlg::~CSBGZDlg() { } void CSBGZDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_LIST1, m_wndListInf1); DDX_LBIndex(pDX, IDC_LIST1, m_nIndex1); } BEGIN_MESSAGE_MAP(CSBGZDlg, CDialog) ON_BN_CLICKED(IDOK, &CSBGZDlg::OnBnClickedOk) ON_LBN_SELCHANGE(IDC_LIST1, &CSBGZDlg::OnLbnSelchangeList1) END_MESSAGE_MAP() BOOL CSBGZDlg::OnInitDialog() { CDialog::OnInitDialog(); CRect rc; GetDlgItem(IDC_STATICVIEW)->GetWindowRect(rc); GetDlgItem(IDC_STATICVIEW)->ShowWindow(SW_HIDE); ScreenToClient(rc); m_wndPreview.Create(rc,this,IDC_STATICVIEW); m_wndPreview.Init(1,1,-1,NULL); CString sName = _T("设备"); AecDbEwFitting* pFit = AecDbEwFitting::cast(m_pEqu); if (pFit != NULL) { m_wndPreview.InitSingleCtrlFor3D(m_pEqu,sName,FALSE); } else { m_wndPreview.InitSingleCtrlFor3D(m_pEqu,sName,FALSE); } m_wndPreview.Redraw(); CString sInf; for (int i = 0;i < m_pMInf->GetInterfaceCount();i++) { sInf.Format(_T("接口%d"),i+1); m_wndListInf1.AddString(sInf); } return TRUE; } void CSBGZDlg::OnBnClickedOk() { if (m_nIndex1 < 0) { AfxMessageBox(_T("请选择管嘴!")); return; } OnOK(); } void CSBGZDlg::OnLbnSelchangeList1() { UpdateData(); if (m_nIndex1 >= 0) { m_wndPreview.Clear(); if (m_pMInf != NULL) m_pMInf->SetActiveInf(m_nIndex1); CString sName = _T("设备"); m_wndPreview.InitSingleCtrlFor3D(m_pEqu,sName,FALSE); m_wndPreview.Redraw(); } }