#include "stdafx.h" #include "InfSelDlg.h" #include "AecDbEwEquipment.h" IMPLEMENT_DYNAMIC(CInfSelDlg, CDialog) CInfSelDlg::CInfSelDlg(CWnd* pParent /*=NULL*/) : CDialog(CInfSelDlg::IDD, pParent) , m_nIndex(0) { m_pEqu = NULL; } CInfSelDlg::~CInfSelDlg(void) { } void CInfSelDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_LIST1, m_wndListInf); DDX_LBIndex(pDX, IDC_LIST1, m_nIndex); } BEGIN_MESSAGE_MAP(CInfSelDlg, CDialog) ON_BN_CLICKED(IDOK, &CInfSelDlg::OnBnClickedOk) ON_LBN_SELCHANGE(IDC_LIST1, &CInfSelDlg::OnLbnSelchangeList1) END_MESSAGE_MAP() BOOL CInfSelDlg::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("设备"); m_wndPreview.InitSingleCtrlFor3D(m_pEqu,sName); m_wndPreview.Redraw(); CString sInf; for (int i = 0;i < m_pEqu->GetInterfaceCount();i++) { sInf.Format(_T("接口%d"),i+1); m_wndListInf.AddString(sInf); } if (m_wndListInf.GetCount() > 0) m_wndListInf.SetCurSel(0); return TRUE; } void CInfSelDlg::OnBnClickedOk() { OnOK(); } void CInfSelDlg::OnLbnSelchangeList1() { UpdateData(); if (m_nIndex >= 0) { m_wndPreview.Clear(); m_pEqu->SetActiveInf(m_nIndex); CString sName = _T("设备"); m_wndPreview.InitSingleCtrlFor3D(m_pEqu,sName); m_wndPreview.Redraw(); } }