home *** CD-ROM | disk | FTP | other *** search
/ The Houseplan Collection / HRCD2005.ISO / data1.cab / Zusatz / 3DS / DATA2.Z / ObjectListDlg.cpp < prev    next >
C/C++ Source or Header  |  1998-10-02  |  2KB  |  87 lines

  1. // ObjectListDlg.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "oem.h"
  6. #include "ObjectListDlg.h"
  7.  
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13.  
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CObjectListDlg dialog
  16.  
  17.  
  18. CObjectListDlg::CObjectListDlg(CWnd* pParent, IArCon *pArCon)
  19.     : CDialog(CObjectListDlg::IDD, pParent)
  20. {
  21.   m_pArCon = pArCon;
  22.     //{{AFX_DATA_INIT(CObjectListDlg)
  23.         // NOTE: the ClassWizard will add member initialization here
  24.     //}}AFX_DATA_INIT
  25. }
  26.  
  27.  
  28. void CObjectListDlg::DoDataExchange(CDataExchange* pDX)
  29. {
  30.     CDialog::DoDataExchange(pDX);
  31.     //{{AFX_DATA_MAP(CObjectListDlg)
  32.         // NOTE: the ClassWizard will add DDX and DDV calls here
  33.     //}}AFX_DATA_MAP
  34. }
  35.  
  36.  
  37. BEGIN_MESSAGE_MAP(CObjectListDlg, CDialog)
  38.     //{{AFX_MSG_MAP(CObjectListDlg)
  39.     //}}AFX_MSG_MAP
  40. END_MESSAGE_MAP()
  41.  
  42. /////////////////////////////////////////////////////////////////////////////
  43. // CObjectListDlg message handlers
  44.  
  45. // Demo: alle Stings in der Schnittstelle sind OLE-Strings (deklariert als BSTR),
  46. // also UNICODE-Strings. Die einfachste Variante der Umwandlung von und in ASCII
  47. // Strings bieten die ATL-Textkonvertierungsmakros. Dazu ist in StdAfx.h ein 
  48. // entsprechendes include einzufⁿgen und in StdAfx.cpp ein include der Implementierung.
  49. BOOL CObjectListDlg::OnInitDialog() 
  50. {
  51.     CDialog::OnInitDialog();
  52.     
  53.   USES_CONVERSION;
  54.  
  55.   CListBox * list = (CListBox *)GetDlgItem(IDC_NAME_LIST);
  56.   int tab = 50;
  57.   list->SetTabStops(1, &tab);
  58.   list->ResetContent();
  59.  
  60.   IObject3DCollection * dieInstanzen;
  61.   IObject3D           * derWuerfel;
  62.   long                  i, num;
  63.  
  64.   m_pArCon->get_DesignObjects(&dieInstanzen);
  65.   dieInstanzen->get_Count(&num);
  66.   
  67.   for (i = 1; i <= num; i++) {
  68.     dieInstanzen->Item(i, &derWuerfel);
  69.  
  70.     BSTR name;
  71.     derWuerfel->get_Name(&name);
  72.     LPCTSTR tName = OLE2T(name);
  73.     SysFreeString(name);
  74.  
  75.     CString line;
  76.     line.Format("%d\t%s", i, tName);
  77.     list->AddString(line);
  78.  
  79.     derWuerfel->Release();
  80.   }
  81.   
  82.   dieInstanzen->Release();
  83.     
  84.     return TRUE;  // return TRUE unless you set the focus to a control
  85.                   // EXCEPTION: OCX Property Pages should return FALSE
  86. }
  87.