⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 volumedlg.cpp

📁 这是书上的代码
💻 CPP
字号:
// VolumeDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Videoplayer.h"
#include "VolumeDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CVolumeDlg dialog


CVolumeDlg::CVolumeDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CVolumeDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CVolumeDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CVolumeDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CVolumeDlg)
	DDX_Control(pDX, IDC_SLIDER, m_sld);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CVolumeDlg, CDialog)
	//{{AFX_MSG_MAP(CVolumeDlg)
	ON_WM_HSCROLL()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CVolumeDlg message handlers


BOOL CVolumeDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	//设置音量滑块的最小值、标度和当前位置
    m_sld.SetRange(-10000,0);
	m_sld.SetTicFreq(1000);
	m_sld.SetLineSize(200);
	m_sld.SetPageSize(1000);
	m_sld.SetPos(m_pAmovie->GetVolume());	
	return TRUE; 
}

//在用户拖动或点击滑快控件时,将所作用的改变立即作用于ActiveMovie控件
void CVolumeDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
    //我的代码
	CSliderCtrl *pSlider=(CSliderCtrl*)pScrollBar;
	int nVolume=pSlider->GetPos();
	m_pAmovie->SetVolume(nVolume);
	CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

void CVolumeDlg::SetVolume(CActiveMovie3* pAmovie)
{
	m_pAmovie=pAmovie;
	//如果未加载任何媒体文件,则音量调节对话框不可用
	//ActiveMovie控件的CurrentState属性返回控件的当前值,-1表示未加载任何媒体文件,此时弹出出错信息
	if(m_pAmovie->GetCurrentState()!=-1)
	{
		DoModal();
	}
	else
	{
		MessageBox("音频设备尚未加载,请先打开一个媒体文件");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -