// DurationPage.cpp : Implementation of CDurationPage #include "stdafx.h" #include "ToolProps.h" #include "DurationPage.h" ///////////////////////////////////////////////////////////////////////////// // CDurationPage CDurationPage::CDurationPage() { m_dwTitleID = IDS_TITLEDurationPage; m_dwHelpFileID = IDS_HELPFILEDurationPage; m_dwDocStringID = IDS_DOCSTRINGDurationPage; m_pDuration = NULL; } CDurationPage::~CDurationPage() { if (m_pDuration) { m_pDuration->Release(); } } STDMETHODIMP CDurationPage::SetObjects(ULONG cObjects,IUnknown **ppUnk) { if (cObjects < 1 || cObjects > 1) return E_UNEXPECTED; return ppUnk[0]->QueryInterface(IID_IDirectMusicDurationTool,(void **) &m_pDuration); } STDMETHODIMP CDurationPage::Apply(void) { m_pDuration->SetScale(m_ctScale.GetValue()); m_bDirty = FALSE; return S_OK; } LRESULT CDurationPage::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { if (m_pDuration) { m_ctScale.Init(GetDlgItem(IDC_SCALE),GetDlgItem(IDC_SCALE_DISPLAY),0,2.0,false); float fScale; m_pDuration->GetScale(&fScale); m_ctScale.SetValue(fScale); } return 1; } LRESULT CDurationPage::OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { LRESULT lr = m_ctScale.MessageHandler(uMsg, wParam,lParam, bHandled); if (bHandled) SetDirty(true); return lr; } LRESULT CDurationPage::OnSlider(UINT uMsg, WPARAM wParam,LPARAM lParam, BOOL& bHandled) { LRESULT lr = m_ctScale.MessageHandler(uMsg, wParam,lParam, bHandled); if (bHandled) SetDirty(true); return lr; }