📄 effectdlgppc.cpp
字号:
#include "GSPlayer2.h"
#include "EffectDlgPPC.h"
#include "SmallSlider.h"
#ifndef _WIN32_WCE_PPC
#error _WIN32_WCE_PPC is not defined.
#endif
CEffectDlg::CEffectDlg()
{
m_hMap = NULL;
InitializeSmallSliderControl();
}
CEffectDlg::~CEffectDlg()
{
UninitializeSmallSliderControl();
}
void CEffectDlg::ShowEffectDlg(HWND hwndParent, HANDLE hMap)
{
m_hMap = hMap;
CTempStr strTitle(IDS_TITLE_EFFECT);
PROPSHEETPAGE psp[5];
memset(psp, 0, sizeof(psp));
psp[0].dwSize = sizeof(PROPSHEETPAGE);
psp[0].dwFlags = PSP_DEFAULT;
psp[0].pszTemplate = MAKEINTRESOURCE(IDD_PAGE_EQUALIZER);
psp[0].pfnDlgProc = (DLGPROC)EqualizerProc;
psp[0].hInstance = GetInst();
psp[0].pszIcon = NULL;
psp[0].lParam = (LPARAM)this;
psp[1].dwSize = sizeof(PROPSHEETPAGE);
psp[1].dwFlags = PSP_DEFAULT;
psp[1].pszTemplate = MAKEINTRESOURCE(IDD_PAGE_SURROUND);
psp[1].pfnDlgProc = (DLGPROC)SurroundProc;
psp[1].hInstance = GetInst();
psp[1].pszIcon = NULL;
psp[1].lParam = (LPARAM)this;
psp[2].dwSize = sizeof(PROPSHEETPAGE);
psp[2].dwFlags = PSP_DEFAULT;
psp[2].pszTemplate = MAKEINTRESOURCE(IDD_PAGE_REVERB);
psp[2].pfnDlgProc = (DLGPROC)ReverbProc;
psp[2].hInstance = GetInst();
psp[2].pszIcon = NULL;
psp[2].lParam = (LPARAM)this;
psp[3].dwSize = sizeof(PROPSHEETPAGE);
psp[3].dwFlags = PSP_DEFAULT;
psp[3].pszTemplate = MAKEINTRESOURCE(IDD_PAGE_BASSBOOST);
psp[3].pfnDlgProc = (DLGPROC)BassBoostProc;
psp[3].hInstance = GetInst();
psp[3].pszIcon = NULL;
psp[3].lParam = (LPARAM)this;
psp[4].dwSize = sizeof(PROPSHEETPAGE);
psp[4].dwFlags = PSP_DEFAULT;
psp[4].pszTemplate = MAKEINTRESOURCE(IDD_PAGE_PRESET);
psp[4].pfnDlgProc = (DLGPROC)PresetProc;
psp[4].hInstance = GetInst();
psp[4].pszIcon = NULL;
psp[4].lParam = (LPARAM)this;
PROPSHEETHEADER psh;
psh.dwSize = sizeof(PROPSHEETHEADER);
psh.dwFlags = PSH_PROPSHEETPAGE | PSH_USECALLBACK | PSH_MAXIMIZE;
psh.pfnCallback = PropSheetCallback;
psh.nPages = sizeof(psp) / sizeof(PROPSHEETPAGE);
psh.nStartPage = 0;
psh.pszIcon = NULL;
psh.pszCaption = strTitle;
psh.hwndParent = hwndParent;
psh.hInstance = GetInst();
psh.ppsp = psp;
PropertySheet(&psh);
}
BOOL CALLBACK CEffectDlg::EqualizerProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
static CEffectDlg* pDlg;
switch (uMsg) {
case WM_INITDIALOG:
{
pDlg = (CEffectDlg*)((LPPROPSHEETPAGE)lParam)->lParam;
pDlg->EqualizerOnInitDialog(hwndDlg);
return TRUE;
}
case WM_COMMAND:
return pDlg->EqualizerOnCommand(hwndDlg, wParam, lParam);
case WM_HSCROLL:
case WM_VSCROLL:
pDlg->EqualizerOnScroll(hwndDlg);
return TRUE;
case WM_PAINT:
return DefDlgPaintProc(hwndDlg, wParam, lParam);
case WM_CTLCOLORSTATIC:
return DefDlgCtlColorStaticProc(hwndDlg, wParam, lParam);
case WM_NOTIFY:
{
NMHDR* phdr = (NMHDR*)lParam;
if (phdr->code == PSN_SETACTIVE) {
pDlg->EqualizerOnActivate(hwndDlg);
return TRUE;
}
return FALSE;
}
default:
return FALSE;
}
}
BOOL CALLBACK CEffectDlg::SurroundProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
static CEffectDlg* pDlg;
switch (uMsg) {
case WM_INITDIALOG:
pDlg = (CEffectDlg*)((LPPROPSHEETPAGE)lParam)->lParam;
pDlg->SurroundOnInitDialog(hwndDlg);
return TRUE;
case WM_COMMAND:
return pDlg->SurroundOnCommand(hwndDlg, wParam, lParam);
case WM_HSCROLL:
case WM_VSCROLL:
pDlg->SurroundOnScroll(hwndDlg);
return TRUE;
case WM_PAINT:
return DefDlgPaintProc(hwndDlg, wParam, lParam);
case WM_CTLCOLORSTATIC:
return DefDlgCtlColorStaticProc(hwndDlg, wParam, lParam);
case WM_NOTIFY:
{
NMHDR* phdr = (NMHDR*)lParam;
if (phdr->code == PSN_SETACTIVE) {
pDlg->SurroundOnActivate(hwndDlg);
return TRUE;
}
return FALSE;
}
default:
return FALSE;
}
}
BOOL CALLBACK CEffectDlg::ReverbProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
static CEffectDlg* pDlg;
switch (uMsg) {
case WM_INITDIALOG:
pDlg = (CEffectDlg*)((LPPROPSHEETPAGE)lParam)->lParam;
pDlg->ReverbOnInitDialog(hwndDlg);
return TRUE;
case WM_COMMAND:
return pDlg->ReverbOnCommand(hwndDlg, wParam, lParam);
case WM_HSCROLL:
case WM_VSCROLL:
pDlg->ReverbOnScroll(hwndDlg);
return TRUE;
case WM_PAINT:
return DefDlgPaintProc(hwndDlg, wParam, lParam);
case WM_CTLCOLORSTATIC:
return DefDlgCtlColorStaticProc(hwndDlg, wParam, lParam);
case WM_NOTIFY:
{
NMHDR* phdr = (NMHDR*)lParam;
if (phdr->code == PSN_SETACTIVE) {
pDlg->ReverbOnActivate(hwndDlg);
return TRUE;
}
return FALSE;
}
default:
return FALSE;
}
}
BOOL CALLBACK CEffectDlg::BassBoostProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
static CEffectDlg* pDlg;
switch (uMsg) {
case WM_INITDIALOG:
pDlg = (CEffectDlg*)((LPPROPSHEETPAGE)lParam)->lParam;
pDlg->BassBoostOnInitDialog(hwndDlg);
return TRUE;
case WM_COMMAND:
return pDlg->BassBoostOnCommand(hwndDlg, wParam, lParam);
case WM_HSCROLL:
case WM_VSCROLL:
pDlg->BassBoostOnScroll(hwndDlg);
return TRUE;
case WM_PAINT:
return DefDlgPaintProc(hwndDlg, wParam, lParam);
case WM_CTLCOLORSTATIC:
return DefDlgCtlColorStaticProc(hwndDlg, wParam, lParam);
case WM_NOTIFY:
{
NMHDR* phdr = (NMHDR*)lParam;
if (phdr->code == PSN_SETACTIVE) {
pDlg->BassBoostOnActivate(hwndDlg);
return TRUE;
}
return FALSE;
}
default:
return FALSE;
}
}
BOOL CALLBACK CEffectDlg::PresetProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
static CEffectDlg* pDlg;
switch (uMsg) {
case WM_INITDIALOG:
pDlg = (CEffectDlg*)((LPPROPSHEETPAGE)lParam)->lParam;
pDlg->PresetOnInitDialog(hwndDlg);
return TRUE;
case WM_COMMAND:
return pDlg->PresetOnCommand(hwndDlg, wParam, lParam);
case WM_PAINT:
return DefDlgPaintProc(hwndDlg, wParam, lParam);
case WM_CTLCOLORSTATIC:
return DefDlgCtlColorStaticProc(hwndDlg, wParam, lParam);
case WM_NOTIFY:
return pDlg->PresetOnNotify(hwndDlg, (NMHDR*)lParam);
case WM_SIZE:
{
RECT rc;
HWND hwnd;
POINT pt;
#define BUTTON_HEIGHT 20
#define BUTTON_MARGIN 2
hwnd = GetDlgItem(hwndDlg, IDC_LIST_PRESET);
GetWindowRect(hwnd, &rc);
pt.x = rc.left; pt.y = rc.top;
ScreenToClient(hwndDlg, &pt);
MoveWindow(hwnd, pt.x, pt.y, LOWORD(lParam) - pt.x * 2,
HIWORD(lParam) - pt.y - (BUTTON_HEIGHT + BUTTON_MARGIN * 2), TRUE);
GetWindowRect(hwnd, &rc);
SendMessage(hwnd, LVM_SETCOLUMNWIDTH, 0,
MAKELPARAM(RECT_WIDTH(&rc) - GetSystemMetrics(SM_CXVSCROLL) - GetSystemMetrics(SM_CXBORDER) * 2, 0));
hwnd = GetDlgItem(hwndDlg, IDC_LOAD);
GetWindowRect(hwnd, &rc);
pt.x = rc.left; pt.y = rc.top;
ScreenToClient(hwndDlg, &pt);
MoveWindow(hwnd, pt.x, HIWORD(lParam) - (BUTTON_HEIGHT + BUTTON_MARGIN), RECT_WIDTH(&rc), BUTTON_HEIGHT, TRUE);
hwnd = GetDlgItem(hwndDlg, IDC_SAVE);
GetWindowRect(hwnd, &rc);
pt.x = rc.left; pt.y = rc.top;
ScreenToClient(hwndDlg, &pt);
MoveWindow(hwnd, pt.x, HIWORD(lParam) - (BUTTON_HEIGHT + BUTTON_MARGIN), RECT_WIDTH(&rc), BUTTON_HEIGHT, TRUE);
hwnd = GetDlgItem(hwndDlg, IDC_DEL);
GetWindowRect(hwnd, &rc);
pt.x = rc.left; pt.y = rc.top;
ScreenToClient(hwndDlg, &pt);
MoveWindow(hwnd, pt.x, HIWORD(lParam) - (BUTTON_HEIGHT + BUTTON_MARGIN), RECT_WIDTH(&rc), BUTTON_HEIGHT, TRUE);
return FALSE;
}
default:
return FALSE;
}
}
void CEffectDlg::EqualizerOnInitDialog(HWND hwndDlg)
{
SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ1), TBM_SETRANGE, FALSE, MAKELONG(EQUALIZER_DATA_MAX, EQUALIZER_DATA_MIN));
SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ2), TBM_SETRANGE, FALSE, MAKELONG(EQUALIZER_DATA_MAX, EQUALIZER_DATA_MIN));
SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ3), TBM_SETRANGE, FALSE, MAKELONG(EQUALIZER_DATA_MAX, EQUALIZER_DATA_MIN));
SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ4), TBM_SETRANGE, FALSE, MAKELONG(EQUALIZER_DATA_MAX, EQUALIZER_DATA_MIN));
SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ5), TBM_SETRANGE, FALSE, MAKELONG(EQUALIZER_DATA_MAX, EQUALIZER_DATA_MIN));
SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ6), TBM_SETRANGE, FALSE, MAKELONG(EQUALIZER_DATA_MAX, EQUALIZER_DATA_MIN));
SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ7), TBM_SETRANGE, FALSE, MAKELONG(EQUALIZER_DATA_MAX, EQUALIZER_DATA_MIN));
SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ8), TBM_SETRANGE, FALSE, MAKELONG(EQUALIZER_DATA_MAX, EQUALIZER_DATA_MIN));
SendMessage(GetDlgItem(hwndDlg, IDC_SLIDER_EQ9), TBM_SETRANGE, FALSE, MAKELONG(EQUALIZER_DATA_MAX, EQUALIZER_DATA_MIN));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -