|
|
// TimeShiftPage.cpp : Implementation of CTimeShiftPage
#include "stdafx.h"
#include "ToolProps.h"
#include "TimeShiftPage.h"
/////////////////////////////////////////////////////////////////////////////
// CTimeShiftPage
CTimeShiftPage::CTimeShiftPage() { m_dwTitleID = IDS_TITLETimeShiftPage; m_dwHelpFileID = IDS_HELPFILETimeShiftPage; m_dwDocStringID = IDS_DOCSTRINGTimeShiftPage; m_pTimeShift = NULL; }
CTimeShiftPage::~CTimeShiftPage()
{ if (m_pTimeShift) { m_pTimeShift->Release(); } }
STDMETHODIMP CTimeShiftPage::SetObjects(ULONG cObjects,IUnknown **ppUnk)
{ if (cObjects < 1 || cObjects > 1) return E_UNEXPECTED; return ppUnk[0]->QueryInterface(IID_IDirectMusicTimeShiftTool,(void **) &m_pTimeShift); }
STDMETHODIMP CTimeShiftPage::Apply(void)
{ m_pTimeShift->SetRange((DWORD)m_ctRange.GetValue()); m_pTimeShift->SetOffset((long)m_ctOffset.GetValue()); m_bDirty = FALSE; return S_OK; }
LRESULT CTimeShiftPage::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{ if (m_pTimeShift) { m_ctRange.Init(GetDlgItem(IDC_RANGE),GetDlgItem(IDC_RANGE_DISPLAY),0,200,true); m_ctOffset.Init(GetDlgItem(IDC_OFFSET),GetDlgItem(IDC_OFFSET_DISPLAY),-200,200,true);
long lValue; m_pTimeShift->GetRange((DWORD *)&lValue); m_ctRange.SetValue((float)lValue); m_pTimeShift->GetOffset(&lValue); m_ctOffset.SetValue((float)lValue); } return 1; }
LRESULT CTimeShiftPage::OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{ LRESULT lr = m_ctRange.MessageHandler(uMsg, wParam,lParam, bHandled); if (!bHandled) lr = m_ctOffset.MessageHandler(uMsg, wParam, lParam, bHandled); if (bHandled) SetDirty(true); return lr; }
LRESULT CTimeShiftPage::OnSlider(UINT uMsg, WPARAM wParam,LPARAM lParam, BOOL& bHandled)
{ LRESULT lr = m_ctRange.MessageHandler(uMsg, wParam,lParam, bHandled); if (!bHandled) lr = m_ctOffset.MessageHandler(uMsg, wParam, lParam, bHandled); if (bHandled) SetDirty(true); return lr; }
|