📄 ppcoptions.cpp
字号:
break;
case 6: // Plug-in
DialogBoxParam(GetInst(), MAKEINTRESOURCE(IDD_PAGE_PLUGIN), hwndDlg, PlugInPageProc, (LPARAM)this);
break;
}
}
BOOL CALLBACK CPpcOptions::PlayerPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
static CPpcOptions* pOptions;
switch (uMsg) {
case WM_INITDIALOG:
pOptions = (CPpcOptions*)lParam;
ShellInitDialog(hwndDlg);
SetWindowLong(hwndDlg, DWL_USER, (LONG)ShellInitDlgMenu(hwndDlg));
pOptions->PlayerPageOnInitDialog(hwndDlg);
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDOK:
pOptions->PlayerPageOnOK(hwndDlg);
EndDialog(hwndDlg, LOWORD(wParam));
return TRUE;
case IDCANCEL:
EndDialog(hwndDlg, LOWORD(wParam));
return TRUE;
}
return FALSE;
case WM_PAINT:
return DefDlgPaintProc(hwndDlg, wParam, lParam);
case WM_CTLCOLORSTATIC:
return DefDlgCtlColorStaticProc(hwndDlg, wParam, lParam);
case WM_DESTROY:
ShellDestroyDlgMenu((HWND)GetWindowLong(hwndDlg, DWL_USER));
return TRUE;
default:
return FALSE;
}
}
BOOL CALLBACK CPpcOptions::DecoderPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
static CPpcOptions* pOptions;
switch (uMsg) {
case WM_INITDIALOG:
pOptions = (CPpcOptions*)lParam;
ShellInitDialog(hwndDlg);
SetWindowLong(hwndDlg, DWL_USER, (LONG)ShellInitDlgMenu(hwndDlg));
pOptions->DecoderPageOnInitDialog(hwndDlg);
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDOK:
pOptions->DecoderPageOnOK(hwndDlg);
EndDialog(hwndDlg, LOWORD(wParam));
return TRUE;
case IDCANCEL:
EndDialog(hwndDlg, LOWORD(wParam));
return TRUE;
}
return FALSE;
case WM_NOTIFY:
{
NMHDR* pnmh = (NMHDR*)lParam;
if (pnmh->code == UDN_DELTAPOS) {
pOptions->DecoderPageOnDeltaPos(hwndDlg, (NM_UPDOWN*)pnmh);
return TRUE;
}
return FALSE;
}
case WM_PAINT:
return DefDlgPaintProc(hwndDlg, wParam, lParam);
case WM_CTLCOLORSTATIC:
return DefDlgCtlColorStaticProc(hwndDlg, wParam, lParam);
case WM_DESTROY:
ShellDestroyDlgMenu((HWND)GetWindowLong(hwndDlg, DWL_USER));
return TRUE;
default:
return FALSE;
}
}
BOOL CALLBACK CPpcOptions::StreamingPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
static CPpcOptions* pOptions;
switch (uMsg) {
case WM_INITDIALOG:
pOptions = (CPpcOptions*)lParam;
ShellInitDialog(hwndDlg);
SetWindowLong(hwndDlg, DWL_USER, (LONG)ShellInitDlgMenu(hwndDlg));
pOptions->StreamingPageOnInitDialog(hwndDlg);
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDOK:
pOptions->StreamingPageOnOK(hwndDlg);
EndDialog(hwndDlg, LOWORD(wParam));
return TRUE;
case IDCANCEL:
EndDialog(hwndDlg, LOWORD(wParam));
return TRUE;
}
return FALSE;
case WM_NOTIFY:
{
NMHDR* pnmh = (NMHDR*)lParam;
if (pnmh->code == UDN_DELTAPOS) {
pOptions->StreamingPageOnDeltaPos(hwndDlg, (NM_UPDOWN*)pnmh);
return TRUE;
}
return FALSE;
}
case WM_PAINT:
return DefDlgPaintProc(hwndDlg, wParam, lParam);
case WM_CTLCOLORSTATIC:
return DefDlgCtlColorStaticProc(hwndDlg, wParam, lParam);
case WM_DESTROY:
ShellDestroyDlgMenu((HWND)GetWindowLong(hwndDlg, DWL_USER));
return TRUE;
default:
return FALSE;
}
}
BOOL CALLBACK CPpcOptions::SkinPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
static CPpcOptions* pOptions;
switch (uMsg) {
case WM_INITDIALOG:
pOptions = (CPpcOptions*)lParam;
ShellInitDialog(hwndDlg);
SetWindowLong(hwndDlg, DWL_USER, (LONG)ShellInitDlgMenu(hwndDlg));
pOptions->SkinPageOnInitDialog(hwndDlg);
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDC_BROWSE:
pOptions->SkinPageOnBrowse(hwndDlg);
return TRUE;
case IDOK:
pOptions->StreamingPageOnOK(hwndDlg);
EndDialog(hwndDlg, LOWORD(wParam));
return TRUE;
case IDCANCEL:
EndDialog(hwndDlg, LOWORD(wParam));
return TRUE;
}
return FALSE;
case WM_PAINT:
return DefDlgPaintProc(hwndDlg, wParam, lParam);
case WM_CTLCOLORSTATIC:
return DefDlgCtlColorStaticProc(hwndDlg, wParam, lParam);
case WM_DESTROY:
ShellDestroyDlgMenu((HWND)GetWindowLong(hwndDlg, DWL_USER));
return TRUE;
default:
return FALSE;
}
}
BOOL CALLBACK CPpcOptions::AssociatePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
HWND hwndLV;
static CPpcOptions* pOptions;
switch (uMsg) {
case WM_INITDIALOG:
pOptions = (CPpcOptions*)lParam;
ShellInitDialog(hwndDlg);
SetWindowLong(hwndDlg, DWL_USER, (LONG)ShellInitDlgMenu(hwndDlg));
pOptions->AssociatePageOnInitDialog(hwndDlg);
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDOK:
pOptions->AssociatePageOnOK(hwndDlg);
EndDialog(hwndDlg, LOWORD(wParam));
return TRUE;
case IDCANCEL:
EndDialog(hwndDlg, LOWORD(wParam));
return TRUE;
case IDC_CHECK_ALL:
hwndLV = GetDlgItem(hwndDlg, IDC_LIST_EXT);
for (int i = 0; i < ListView_GetItemCount(hwndLV); i++) {
ListView_SetCheckState(hwndLV, i , TRUE);
}
return TRUE;
case IDC_CLEAR_ALL:
hwndLV = GetDlgItem(hwndDlg, IDC_LIST_EXT);
for (int i = 0; i < ListView_GetItemCount(hwndLV); i++) {
ListView_SetCheckState(hwndLV, i , FALSE);
}
return TRUE;
}
return FALSE;
case WM_PAINT:
return DefDlgPaintProc(hwndDlg, wParam, lParam);
case WM_CTLCOLORSTATIC:
return DefDlgCtlColorStaticProc(hwndDlg, wParam, lParam);
case WM_DESTROY:
ShellDestroyDlgMenu((HWND)GetWindowLong(hwndDlg, DWL_USER));
return TRUE;
#ifdef _WIN32_WCE_PPC
case WM_SIZE:
{
RECT rc;
HWND hwnd;
POINT pt;
#define BUTTON_HEIGHT SCALEY(24)
#define BUTTON_MARGIN SCALEX(2)
hwnd = GetDlgItem(hwndDlg, IDC_LIST_EXT);
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_CHECK_ALL);
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_CLEAR_ALL);
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;
}
#endif
default:
return FALSE;
}
}
BOOL CALLBACK CPpcOptions::PlugInPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
static CPpcOptions* pOptions;
switch (uMsg) {
case WM_INITDIALOG:
pOptions = (CPpcOptions*)lParam;
ShellInitDialog(hwndDlg);
SetWindowLong(hwndDlg, DWL_USER, (LONG)ShellInitDlgMenu(hwndDlg));
pOptions->PlugInPageOnInitDialog(hwndDlg);
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDOK:
pOptions->PlugInPageOnOK(hwndDlg);
EndDialog(hwndDlg, LOWORD(wParam));
return TRUE;
case IDCANCEL:
EndDialog(hwndDlg, LOWORD(wParam));
return TRUE;
}
return pOptions->PlugInPageOnCommand(hwndDlg, wParam, lParam);;
case WM_NOTIFY:
{
NMHDR* pnmh = (NMHDR*)lParam;
if (pnmh->code == NM_DBLCLK) {
pOptions->PlugInPageOnCommand(hwndDlg, IDC_CONFIG, 0);
return TRUE;
}
else if (pnmh->code == LVN_ITEMCHANGED) {
EnableWindow(GetDlgItem(hwndDlg, IDC_CONFIG),
ListView_GetSelectedCount(GetDlgItem(hwndDlg, IDC_LIST_PLUGIN)) ? TRUE : FALSE);
}
return FALSE;
}
case WM_PAINT:
return DefDlgPaintProc(hwndDlg, wParam, lParam);
case WM_CTLCOLORSTATIC:
return DefDlgCtlColorStaticProc(hwndDlg, wParam, lParam);
case WM_DESTROY:
ShellDestroyDlgMenu((HWND)GetWindowLong(hwndDlg, DWL_USER));
return TRUE;
#ifdef _WIN32_WCE_PPC
case WM_SIZE:
{
RECT rc;
HWND hwnd;
POINT pt;
#define BUTTON_HEIGHT SCALEY(24)
#define BUTTON_MARGIN SCALEX(2)
hwnd = GetDlgItem(hwndDlg, IDC_LIST_PLUGIN);
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_CONFIG);
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;
}
#endif
default:
return FALSE;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -