📄 sliders.cpp
字号:
// Sliders.cpp : implementation file//#include "stdafx.h"#include "osmo4.h"#include "Sliders.h"#include <gpac/options.h>#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// Sliders dialogSliders::Sliders(CWnd* pParent /*=NULL*/) : CDialog(Sliders::IDD, pParent){ //{{AFX_DATA_INIT(Sliders) //}}AFX_DATA_INIT m_grabbed = 0;}void Sliders::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(Sliders) DDX_Control(pDX, ID_AUDIO_VOL, m_AudioVol); DDX_Control(pDX, ID_SLIDER, m_PosSlider); //}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(Sliders, CDialog) //{{AFX_MSG_MAP(Sliders) ON_WM_HSCROLL() ON_WM_SIZE() ON_WM_CLOSE() //}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// Sliders message handlersvoid Sliders::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { WinGPAC *app = GetApp(); if (pScrollBar->GetDlgCtrlID() == ID_SLIDER) { switch (nSBCode) { case TB_LINEUP: case TB_LINEDOWN: case TB_PAGEUP: case TB_PAGEDOWN: case TB_THUMBPOSITION: case TB_THUMBTRACK: case TB_TOP: case TB_BOTTOM: m_grabbed = 1; break; case TB_ENDTRACK: if (!app->can_seek || !app->m_isopen) { m_PosSlider.SetPos(0); } else { u32 seek_to = m_PosSlider.GetPos(); app->PlayFromTime(seek_to); } m_grabbed = 0; break; } } if (pScrollBar->GetDlgCtrlID() == ID_AUDIO_VOL) { u32 vol = m_AudioVol.GetPos(); gf_term_set_option(app->m_term, GF_OPT_AUDIO_VOLUME, vol); } CDialog::OnHScroll(nSBCode, nPos, pScrollBar);}void Sliders::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); if (!m_PosSlider.m_hWnd) return; RECT rc, rc2; u32 tw = 40; //m_PosSlider.GetClientRect(&rc); //rc.right = rc.left + cx; //m_PosSlider.SetWindowPos(this, rc.left, rc.top, rc.right, rc.bottom, SWP_NOZORDER | SWP_NOMOVE); m_PosSlider.GetClientRect(&rc); rc.right = rc.left + cx - tw; m_PosSlider.SetWindowPos(this, rc.left, rc.top, rc.right, rc.bottom, SWP_NOZORDER | SWP_NOMOVE); m_AudioVol.GetClientRect(&rc2); rc2.top = rc2.bottom = cy/2; rc2.top -= cy/3; rc2.bottom += cy/3; rc2.left = rc.right; rc2.right = rc.right+tw; m_AudioVol.MoveWindow(&rc2);}/*we sure don't want to close this window*/void Sliders::OnClose() { u32 i = 0; return;}BOOL Sliders::PreTranslateMessage(MSG* pMsg) { if (pMsg->message == WM_KEYDOWN) { GetApp()->m_pMainWnd->SetFocus(); GetApp()->m_pMainWnd->PostMessage(pMsg->message, pMsg->wParam, pMsg->lParam); return TRUE; } return CDialog::PreTranslateMessage(pMsg);}BOOL Sliders::OnInitDialog() { CDialog::OnInitDialog(); m_AudioVol.SetRange(0, 100); return TRUE;}void Sliders::SetVolume(){ m_AudioVol.SetPos(gf_term_get_option(GetApp()->m_term, GF_OPT_AUDIO_VOLUME));}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -