📄 volumedlg.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 + -