home *** CD-ROM | disk | FTP | other *** search
/ Master Visual C++ 1.5 / MASTERVC15.ISO / vcprog / original / ch25 / cd / cdview.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-06  |  2.5 KB  |  114 lines

  1. // cdview.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "cd.h"
  6. #include "cdview.h"
  7.  
  8. #ifdef _DEBUG
  9. #undef THIS_FILE
  10. static char BASED_CODE THIS_FILE[] = __FILE__;
  11. #endif
  12.  
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CCdView
  15.  
  16. IMPLEMENT_DYNCREATE(CCdView, CFormView)
  17.  
  18. CCdView::CCdView()
  19.     : CFormView(CCdView::IDD)
  20. {
  21.     //{{AFX_DATA_INIT(CCdView)
  22.     m_cd = NULL;
  23.     m_CurrentTrack = 0;
  24.     //}}AFX_DATA_INIT
  25. }
  26.  
  27. CCdView::~CCdView()
  28. {
  29. }
  30.  
  31. void CCdView::DoDataExchange(CDataExchange* pDX)
  32. {
  33.     CFormView::DoDataExchange(pDX);
  34.     //{{AFX_DATA_MAP(CCdView)
  35.     DDX_VBControl(pDX, IDC_TEGOMM_CD, m_cd);
  36.     DDX_Text(pDX, IDC_CURRENT_TRACK, m_CurrentTrack);
  37.     //}}AFX_DATA_MAP
  38. }
  39.  
  40.  
  41. BEGIN_MESSAGE_MAP(CCdView, CFormView)
  42.     //{{AFX_MSG_MAP(CCdView)
  43.     ON_BN_CLICKED(IDC_BUTTON_LOAD, OnButtonLoad)
  44.     ON_VBXEVENT(VBN_STATUSUPDATE, IDC_TEGOMM_CD, OnStatusupdateTegommCd)
  45.     //}}AFX_MSG_MAP
  46. END_MESSAGE_MAP()
  47.  
  48.  
  49. /////////////////////////////////////////////////////////////////////////////
  50. // CCdView message handlers
  51.  
  52. //////////////////////
  53. // MY CODE STARTS HERE
  54. //////////////////////
  55.  
  56. void CCdView::OnInitialUpdate()
  57. {
  58.  
  59.     // Call the base class function.
  60.     CFormView::OnInitialUpdate();
  61.  
  62.     // Set the DeviceType property to "CDAudio".
  63.     m_cd->SetStrProperty("DeviceType","CDAudio");
  64.  
  65.     // Set the UpdateInterval property to 250 milliseconds.
  66.     m_cd->SetNumProperty("UpdateInterval",250);
  67.  
  68. }
  69.  
  70. ////////////////////
  71. // MY CODE ENDS HERE
  72. ////////////////////
  73.  
  74. void CCdView::OnButtonLoad()
  75. {
  76. // TODO: Add your control notification handler code here
  77.  
  78.   //////////////////////
  79.   // MY CODE STARTS HERE
  80.   //////////////////////
  81.  
  82.   // Issue an Open command to the multimedia control.
  83.   m_cd->SetStrProperty("Command", "Open");
  84.  
  85.   ////////////////////
  86.   // MY CODE ENDS HERE
  87.   ////////////////////
  88.     
  89. }
  90.  
  91. void CCdView::OnStatusupdateTegommCd(UINT, int, CWnd*, LPVOID)
  92. {
  93. // TODO: Add your VBX event notification handler code here
  94.  
  95.  //////////////////////
  96.  // MY CODE STARTS HERE
  97.  //////////////////////
  98.  
  99.  // Set the TimeFormat property to "tmsf".
  100.  // (TimeFormat = "tmsf" = Tracks, Minutes, Seconds, Frames)
  101.  m_cd->SetStrProperty("TimeFormat","tmsf");
  102.  
  103.  // Get the current track.
  104.  m_CurrentTrack =  (BYTE)m_cd->GetNumProperty("Position");
  105.  
  106.  // Update the screen with the new value of m_CurrentTrack
  107.  UpdateData(FALSE);
  108.  
  109.  ////////////////////
  110.  // MY CODE ENDS HERE
  111.  ////////////////////
  112.     
  113. }
  114.