📄 optiondlg.cpp
字号:
return DefDlgPaintProc(hDlg, wParam, lParam);
case WM_CTLCOLORSTATIC:
return DefDlgCtlColorStaticProc(hDlg, wParam, lParam);
#endif
}
return FALSE;
}
///////////////////////////////////////////////////////////////
LRESULT CALLBACK PPOptionPathProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
{
#ifndef __POCKET_PC
SetWindowText(GetDlgItem(hDlg, IDC_EDIT_DESKTOP), g_MainWnd.m_szDesktopPath);
#endif
SetWindowText(GetDlgItem(hDlg, IDC_EDIT_STARTMENU), g_MainWnd.m_szStartMenuPath);
SetWindowText(GetDlgItem(hDlg, IDC_EDIT_FAVORITES), g_MainWnd.m_szFavoritesPath);
SetWindowText(GetDlgItem(hDlg, IDC_EDIT_NETWORK), g_MainWnd.m_szNetworkPath);
return TRUE;
}
case WM_NOTIFY:
{
NMHDR* pnmh = (NMHDR*)lParam;
if (pnmh->code == PSN_APPLY)
{
TCHAR szPath[MAX_PATH]={0};
#ifndef __POCKET_PC
//僨僗僋僩僢僾
GetWindowText(GetDlgItem(hDlg, IDC_EDIT_DESKTOP), szPath, sizeof(szPath));
if(wcslen(szPath)!=0) wcscpy(g_MainWnd.m_szDesktopPath, szPath);
#endif
//僗僞乕僩儊僯儏乕
GetWindowText(GetDlgItem(hDlg, IDC_EDIT_STARTMENU), szPath, sizeof(szPath));
if(wcslen(szPath)!=0) {
wcscpy(g_MainWnd.m_szStartMenuPath, szPath);
g_MainWnd.m_lpszStartMenu = wcsrchr(g_MainWnd.m_szStartMenuPath, _T('\\'))+1;
}
//僱僢僩儚乕僋
GetWindowText(GetDlgItem(hDlg, IDC_EDIT_NETWORK), szPath, sizeof(szPath));
if(wcslen(szPath)!=0)
wcscpy(g_MainWnd.m_szNetworkPath, szPath);
//偍婥偵擖傝
GetWindowText(GetDlgItem(hDlg, IDC_EDIT_FAVORITES), szPath, sizeof(szPath));
if(wcslen(szPath)!=0&& wcscmp(szPath, g_MainWnd.m_szFavoritesPath)!=0) {
wcscpy(g_MainWnd.m_szFavoritesPath, szPath);
//偍婥偵擖傝儊僯儏乕偺嵞嶌惉
g_MainWnd.m_ListView.DeleteFavoritesMenu();
g_MainWnd.m_ListView.InitFavoritesMenu();
}
return TRUE;
}
break;
}
#ifdef __POCKET_PC
case WM_PAINT:
return DefDlgPaintProc(hDlg, wParam, lParam);
case WM_CTLCOLORSTATIC:
return DefDlgCtlColorStaticProc(hDlg, wParam, lParam);
#endif
}
return FALSE;
}
///////////////////////////////////////////////////////////////
LRESULT CALLBACK PPOptionFontProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
int nptTbl[]={1, 4, 6, 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 0};
switch (message)
{
case WM_INITDIALOG:
{
SendMessage(GetDlgItem(hDlg, IDC_CHK_FONTCHANGE), BM_SETCHECK, g_MainWnd.m_bFontChange?1:0, 0);
SendMessage(GetDlgItem(hDlg, IDC_LIST_FONTNAME), LB_ADDSTRING, 0, (LPARAM)_T("System"));
SendMessage(GetDlgItem(hDlg, IDC_LIST_FONTNAME), LB_SETCURSEL, 0, 0);
HDC hDC = GetDC(hDlg);
EnumFonts(hDC, NULL, (FONTENUMPROC)EnumFontsProc, (LPARAM)hDlg);
ReleaseDC(hDlg, hDC);
HWND hLB = GetDlgItem(hDlg, IDC_LIST_FONTSIZE);
for(int i=0; nptTbl[i]!=0; i++)
{
//傾僀僥儉捛壛
TCHAR szBuf[16];
wsprintf(szBuf, _T("%d"), nptTbl[i]);
SendMessage(hLB, LB_ADDSTRING, 0, (LPARAM)szBuf);
if(nptTbl[i] == g_MainWnd.m_nFontSize || i==0)
{
SendMessage(hLB, LB_SETCURSEL, i, 0);
}
} // End of for
if(!g_MainWnd.m_bFontChange)
{
EnableWindow(GetDlgItem(hDlg,IDC_LIST_FONTNAME), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_LIST_FONTSIZE), FALSE);
}
return TRUE;
}
case WM_NOTIFY:
{
NMHDR* pnmh = (NMHDR*)lParam;
if (pnmh->code == PSN_APPLY)
{
g_MainWnd.m_bFontChange =
SendMessage(GetDlgItem(hDlg, IDC_CHK_FONTCHANGE), BM_GETCHECK, 0, 0)?TRUE:FALSE;
TCHAR szBuf[128];
HWND hLB = GetDlgItem(hDlg, IDC_LIST_FONTNAME);
int nIndex = SendMessage(hLB, LB_GETCURSEL, 0, 0);
SendMessage(hLB, LB_GETTEXT, (WPARAM)nIndex, (LPARAM)szBuf);
wcscpy(g_MainWnd.m_szFontName, szBuf);
hLB = GetDlgItem(hDlg, IDC_LIST_FONTSIZE);
nIndex = SendMessage(hLB, LB_GETCURSEL, 0, 0);
SendMessage(hLB, LB_GETTEXT, (WPARAM)nIndex, (LPARAM)szBuf);
g_MainWnd.m_nFontSize = _wtoi(szBuf);
//僼僅儞僩斀塮
g_MainWnd.SetFont();
return TRUE;
}
break;
}
case WM_COMMAND:
{
if (LOWORD(wParam)==IDC_CHK_FONTCHANGE)
{
g_MainWnd.m_bFontChange =
SendMessage(GetDlgItem(hDlg, IDC_CHK_FONTCHANGE), BM_GETCHECK, 0, 0)?TRUE:FALSE;
if(g_MainWnd.m_bFontChange)
{
EnableWindow(GetDlgItem(hDlg,IDC_LIST_FONTNAME), TRUE);
EnableWindow(GetDlgItem(hDlg,IDC_LIST_FONTSIZE), TRUE);
}
else
{
EnableWindow(GetDlgItem(hDlg,IDC_LIST_FONTNAME), FALSE);
EnableWindow(GetDlgItem(hDlg,IDC_LIST_FONTSIZE), FALSE);
}
return TRUE;
}
break;
}
#ifdef __POCKET_PC
case WM_PAINT:
return DefDlgPaintProc(hDlg, wParam, lParam);
case WM_CTLCOLORSTATIC:
return DefDlgCtlColorStaticProc(hDlg, wParam, lParam);
#endif
}
return FALSE;
}
//ADD END
///////////////////////////////////////////////////////////////
int COptionDlg::ShowOptionDlg()
{
pod = this;
m_bRefreshIcon = FALSE;
#if defined(__POCKET_PC)||defined(__PALMSIZE_PC)
PROPSHEETPAGE psp[9]; //MOD TODA
#else
PROPSHEETPAGE psp[8]; //MOD TODA
#endif
//嫟捠晹暘
for (int i=0; i<(sizeof(psp)/sizeof(PROPSHEETPAGE)); i++)
{
psp[i].dwSize = sizeof(PROPSHEETPAGE);
psp[i].dwFlags = PSP_USETITLE;
psp[i].hInstance = g_hInst;
psp[i].pszIcon = NULL;
} // End of for
//昞帵
psp[0].pszTemplate = MAKEINTRESOURCE(IDD_PP_OPTION_VIEW);
psp[0].pszTitle = IDS_OPTION_VIEW;
psp[0].pfnDlgProc = (DLGPROC)PPOptionViewProc;
//傾僀僐儞
psp[1].pszTemplate = MAKEINTRESOURCE(IDD_PP_OPTION_ICON);
psp[1].pszTitle = IDS_OPTION_ICON;
psp[1].pfnDlgProc = (DLGPROC)PPOptionIconProc;
//僼僅儞僩
psp[2].pszTemplate = MAKEINTRESOURCE(IDD_PP_OPTION_FONT);
psp[2].pszTitle = IDS_OPTION_FONT;
psp[2].pfnDlgProc = (DLGPROC)PPOptionFontProc;
//憖嶌
psp[3].pszTemplate = MAKEINTRESOURCE(IDD_PP_OPTION_CONTROL);
psp[3].pszTitle = IDS_OPTION_CTRL;
psp[3].pfnDlgProc = (DLGPROC)PPOptionControlProc;
//傾僾儕働乕僔儑儞
psp[4].pszTemplate = MAKEINTRESOURCE(IDD_PP_OPTION_SENDAPP);
psp[4].pszTitle = IDS_OPTION_RUNAPP;
psp[4].pfnDlgProc = (DLGPROC)PPOptionSendAppProc;
//埑弅/夝搥
psp[5].pszTemplate = MAKEINTRESOURCE(IDD_PP_OPTION_COMPRESS);
psp[5].pszTitle = IDS_OPTION_COMPRESS;
psp[5].pfnDlgProc = (DLGPROC)PPOptionCompressProc;
//僔僗僥儉僷僗
psp[6].pszTemplate = MAKEINTRESOURCE(IDD_PP_OPTION_PATH);
psp[6].pszTitle = IDS_OPTION_PATH;
psp[6].pfnDlgProc = (DLGPROC)PPOptionPathProc;
//僼傽僀儖偺庬椶
psp[7].pszTemplate = MAKEINTRESOURCE(IDD_PP_OPTION_FILETYPE);
psp[7].pszTitle = IDS_OPTION_FILETYPE;
psp[7].pfnDlgProc = (DLGPROC)PPOptionFiletypeProc;
#if defined(__POCKET_PC)||defined(__PALMSIZE_PC)
//僶乕僕儑儞忣曬
psp[8].pszTemplate = MAKEINTRESOURCE(IDD_ABOUTBOX);
psp[8].pszTitle = IDS_OPTION_ABOUT;
psp[8].pfnDlgProc = (DLGPROC)About;
#endif
//夋柺惗惉梡僷儔儊乕僞愝掕
PROPSHEETHEADER psh;
psh.dwSize = sizeof(PROPSHEETHEADER);
#ifdef __POCKET_PC
psh.dwFlags = PSH_PROPSHEETPAGE | PSH_MAXIMIZE | PSH_USECALLBACK;
psh.pfnCallback = PropSheetCallback;
#else
psh.dwFlags = PSH_PROPSHEETPAGE;
#endif
psh.nPages = sizeof(psp)/sizeof(PROPSHEETPAGE);
psh.nStartPage = 0;
psh.pszIcon = NULL;
psh.pszCaption = IDS_TITLE_OPTION;
psh.hwndParent = g_MainWnd.m_hWnd;
psh.hInstance = g_hInst;
psh.ppsp = psp;
//夋柺惗惉
int nRet = PropertySheet(&psh);
if (m_bRefreshIcon)
{
g_MainWnd.m_ListView.SetImageList();
nRet = IDOK;
}
//OK儃僞儞墴壓屻(愝掕斀塮)
if (nRet==IDOK)
{
g_MainWnd.m_ListView.InitOpenAppMenu();
//徻嵶昞帵偺応崌偺傒昞帵宍幃嵞愝掕
if (g_MainWnd.m_ListView.m_Settings.dwListStyle == LVS_REPORT)
g_MainWnd.m_ListView.OnChangeListStyle(
(g_MainWnd.m_ListView.m_Settings.dwListExStyle?ID_VIEW_REPORTLINE:ID_VIEW_REPORT));
g_MainWnd.m_ListView.LoadFolderItem(g_MainWnd.m_ListView.m_szCurrentFolder);
g_MainWnd.m_CmdBands.SetEnableItemSelected();
}
pod = NULL;
return nRet;
}
///////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -