#include "stdafx.h" #include "SBXZDlg.h" #include "AecDbEntityBase.h" #include "AecMInterfaces.h" #include "AecDbEwFitting.h" IMPLEMENT_DYNAMIC(CSBXZDlg, CDialog) CSBXZDlg::CSBXZDlg(CWnd* pParent /*=NULL*/) : CDialog(CSBXZDlg::IDD, pParent) , m_nXYZ(0) , m_dAngle(90) , m_bXYZ(FALSE) { m_pEqu = NULL; m_nIndex1 = -1; m_pMInf = NULL; } CSBXZDlg::~CSBXZDlg() { } void CSBXZDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_LIST1, m_wndListInf1); DDX_LBIndex(pDX, IDC_LIST1, m_nIndex1); DDX_Radio(pDX, IDC_RADIO1, m_nXYZ); DDX_Text(pDX, IDC_EDIT1, m_dAngle); DDX_Check(pDX, IDC_CHECK1, m_bXYZ); } BEGIN_MESSAGE_MAP(CSBXZDlg, CDialog) ON_BN_CLICKED(IDOK, &CSBXZDlg::OnBnClickedOk) ON_LBN_SELCHANGE(IDC_LIST1, &CSBXZDlg::OnLbnSelchangeList1) END_MESSAGE_MAP() BOOL CSBXZDlg::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); } 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 CSBXZDlg::OnBnClickedOk() { OnOK(); } void CSBXZDlg::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); m_wndPreview.Redraw(); } }