⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 optiondlg.cpp

📁 PocketPC上很好用的文件管理器,而且里面的封装性很好,学windows mobile开发的兄弟,值得一看
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//OptionDlg.cpp

#include "GSFinder.h"
#include "OptionDlg.h"
#include "Association.h"

COptionDlg* pod;
//ADD START TODA
///////////////////////////////////////////////////////////////
static int CALLBACK EnumFontsProc(
		LOGFONT*		lplf,
		TEXTMETRIC*		lptm,
		DWORD			dwType,
		LPARAM			lpData)
{ 
	HWND hDlg = (HWND)lpData;
	HWND hLB = GetDlgItem(hDlg, IDC_LIST_FONTNAME);

	//傾僀僥儉捛壛
	SendMessage(hLB, LB_ADDSTRING, 0, (LPARAM)lplf->lfFaceName);

	//傾僀僥儉悢庢摼
	int nItem = SendMessage(hLB, LB_GETCOUNT, 0, 0);
	
	//傾僀僥儉
	if(0 == wcscmp(g_MainWnd.m_szFontName, lplf->lfFaceName) || nItem==1)
		SendMessage(hLB, LB_SETCURSEL, (nItem-1), 0);

	return TRUE;
} 
//ADD END
///////////////////////////////////////////////////////////////
LRESULT CALLBACK PPOptionSendAppProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch (message)
	{
		case WM_INITDIALOG:
		{
			SetWindowLong(hDlg, DWL_MSGRESULT, FALSE);
			SetWindowText(GetDlgItem(hDlg, IDC_EDIT_PATH), g_MainWnd.m_szSendAppPath);
			SendMessage(GetDlgItem(hDlg, IDC_CHK_QADD), BM_SETCHECK, g_MainWnd.m_bCheckQAdd?1:0, 0);
#ifndef __POCKET_PC
			SendMessage(GetDlgItem(hDlg, IDC_CHK_OVERLAPPED), BM_SETCHECK, g_MainWnd.m_bOverLapped?1:0, 0);
#endif
			return TRUE;
		}
		case WM_NOTIFY:
		{
			NMHDR* pnmh = (NMHDR*)lParam; 
			if (pnmh->code == PSN_APPLY)
			{
				GetWindowText(GetDlgItem(hDlg, IDC_EDIT_PATH), g_MainWnd.m_szSendAppPath, MAX_PATH);
				g_MainWnd.m_bCheckQAdd = SendMessage(GetDlgItem(hDlg, IDC_CHK_QADD), BM_GETCHECK, 0, 0)?TRUE:FALSE;
#ifndef __POCKET_PC
				g_MainWnd.m_bOverLapped = SendMessage(GetDlgItem(hDlg, IDC_CHK_OVERLAPPED), BM_GETCHECK, 0, 0)?TRUE:FALSE;
#endif
				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 PPOptionControlProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch (message)
	{
		case WM_INITDIALOG:
		{
			SetWindowLong(hDlg, DWL_MSGRESULT, FALSE);
#ifdef __POCKET_PC
			SendMessage(GetDlgItem(hDlg, IDC_CHK_DBLCLK), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.bSingleClick?0:1, 0); //斀懳側偺偵拲堄
			SendMessage(GetDlgItem(hDlg, IDC_CHK_HIDEHEADER), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.bHideHeader?1:0, 0);
#else
			SendMessage(GetDlgItem(hDlg, IDC_CHK_SINGLECLICK), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.bSingleClick?1:0, 0);
#endif
			SendMessage(GetDlgItem(hDlg, IDC_CHECK_ADDUPPER), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.bAddUpper?1:0, 0);
			//ADD START TODA
			SendMessage(GetDlgItem(hDlg, IDC_CHECK_CONTEXTMENU), BM_SETCHECK, g_MainWnd.m_bContextMenu?1:0, 0);
			//ADD END
			return TRUE;
		}
		case WM_NOTIFY:
		{
			NMHDR* pnmh = (NMHDR*)lParam; 
			if (pnmh->code == PSN_APPLY)
			{
#ifdef __POCKET_PC
				g_MainWnd.m_ListView.m_Settings.bSingleClick = SendMessage(GetDlgItem(hDlg, IDC_CHK_DBLCLK), BM_GETCHECK, 0, 0)?FALSE:TRUE;
				g_MainWnd.m_ListView.m_Settings.bHideHeader = SendMessage(GetDlgItem(hDlg, IDC_CHK_HIDEHEADER), BM_GETCHECK, 0, 0)?TRUE:FALSE;
#else
				g_MainWnd.m_ListView.m_Settings.bSingleClick = SendMessage(GetDlgItem(hDlg, IDC_CHK_SINGLECLICK), BM_GETCHECK, 0, 0)?TRUE:FALSE;
#endif
				g_MainWnd.m_ListView.m_Settings.bAddUpper = SendMessage(GetDlgItem(hDlg, IDC_CHECK_ADDUPPER), BM_GETCHECK, 0, 0)?TRUE:FALSE;
				//ADD START TODA
				g_MainWnd.m_bContextMenu = SendMessage(GetDlgItem(hDlg, IDC_CHECK_CONTEXTMENU), BM_GETCHECK, 0, 0)?TRUE:FALSE;
				//ADD END
				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 PPOptionViewProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch (message)
	{
		case WM_INITDIALOG:
		{
			SetWindowLong(hDlg, DWL_MSGRESULT, FALSE);
			SendMessage(GetDlgItem(hDlg, IDC_CHK_HIDDEN), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.bHideHidden?1:0, 0);
			SendMessage(GetDlgItem(hDlg, IDC_CHK_SYSTEM), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.bHideSystem?1:0, 0);
			SendMessage(GetDlgItem(hDlg, IDC_CHK_ROM), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.bHideROM?1:0, 0);
			SendMessage(GetDlgItem(hDlg, IDC_CHK_FOLDER), BM_SETCHECK, g_MainWnd.m_ListView.m_bHideFolder?1:0, 0);	//ADD TODA
			SendMessage(GetDlgItem(hDlg, IDC_CHK_SAVEFOLDER), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.bSaveFolder?1:0, 0);
			SendMessage(GetDlgItem(hDlg, IDC_CHK_SHORTCUT_NAME), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.bNotShortcutName?1:0, 0);
			SendMessage(GetDlgItem(hDlg, IDC_CHK_NOT_SHOWEXT), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.bNotShowExt?1:0, 0);
			SendMessage(GetDlgItem(hDlg, IDC_CHK_TIMESTUMP), BM_SETCHECK, g_MainWnd.m_ListView.m_bTimeStump?1:0, 0);	//ADD TODA
			return TRUE;
		}
		case WM_NOTIFY:
		{
			NMHDR* pnmh = (NMHDR*)lParam; 
			if (pnmh->code == PSN_APPLY)
			{
				g_MainWnd.m_ListView.m_Settings.bHideHidden = SendMessage(GetDlgItem(hDlg, IDC_CHK_HIDDEN), BM_GETCHECK, 0, 0)?TRUE:FALSE;
				g_MainWnd.m_ListView.m_Settings.bHideSystem = SendMessage(GetDlgItem(hDlg, IDC_CHK_SYSTEM), BM_GETCHECK, 0, 0)?TRUE:FALSE;
				g_MainWnd.m_ListView.m_Settings.bHideROM = SendMessage(GetDlgItem(hDlg, IDC_CHK_ROM), BM_GETCHECK, 0, 0)?TRUE:FALSE;
				g_MainWnd.m_ListView.m_bHideFolder = SendMessage(GetDlgItem(hDlg, IDC_CHK_FOLDER), BM_GETCHECK, 0, 0)?TRUE:FALSE;	//ADD TODA
				g_MainWnd.m_ListView.m_Settings.bSaveFolder = SendMessage(GetDlgItem(hDlg, IDC_CHK_SAVEFOLDER), BM_GETCHECK, 0, 0)?TRUE:FALSE;
				g_MainWnd.m_ListView.m_Settings.bNotShortcutName = SendMessage(GetDlgItem(hDlg, IDC_CHK_SHORTCUT_NAME), BM_GETCHECK, 0, 0)?TRUE:FALSE;
				g_MainWnd.m_ListView.m_Settings.bNotShowExt = SendMessage(GetDlgItem(hDlg, IDC_CHK_NOT_SHOWEXT), BM_GETCHECK, 0, 0)?TRUE:FALSE;
				g_MainWnd.m_ListView.m_bTimeStump = SendMessage(GetDlgItem(hDlg, IDC_CHK_TIMESTUMP), BM_GETCHECK, 0, 0)?TRUE:FALSE;	//ADD TODA
				return TRUE;
			}
			break;
		}
#ifdef __POCKET_PC
		case WM_PAINT:
			return DefDlgPaintProc2(hDlg, wParam, lParam);
		case WM_CTLCOLORSTATIC:
			return DefDlgCtlColorStaticProc(hDlg, wParam, lParam);
#endif
	}
    return FALSE;
}
///////////////////////////////////////////////////////////////
LRESULT CALLBACK PPOptionIconProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch (message)
	{
		case WM_INITDIALOG:
		{
			SetWindowLong(hDlg, DWL_MSGRESULT, FALSE);
			SendMessage(GetDlgItem(hDlg, IDC_CHK_NOTLOAD_FILEICON), BM_SETCHECK, g_MainWnd.m_ListView.m_ImageListSettings.bNotLoadFileIcon?1:0, 0);
			SendMessage(GetDlgItem(hDlg, IDC_CHK_NOTLOAD_ROMICON), BM_SETCHECK, g_MainWnd.m_ListView.m_ImageListSettings.bNotLoadROMIcon?1:0, 0);
			//ADD START TODA
			SendMessage(GetDlgItem(hDlg, IDC_CHK_NOTLOAD_COMPICON), BM_SETCHECK, g_MainWnd.m_ListView.m_ImageListSettings.bNotLoadCompIcon?1:0, 0);
			//ADD END
			return TRUE;
		}
		case WM_NOTIFY:
		{
			NMHDR* pnmh = (NMHDR*)lParam; 
			if (pnmh->code == PSN_APPLY)
			{
				g_MainWnd.m_ListView.m_ImageListSettings.bNotLoadFileIcon = SendMessage(GetDlgItem(hDlg, IDC_CHK_NOTLOAD_FILEICON), BM_GETCHECK, 0, 0)?TRUE:FALSE;
				g_MainWnd.m_ListView.m_ImageListSettings.bNotLoadROMIcon = SendMessage(GetDlgItem(hDlg, IDC_CHK_NOTLOAD_ROMICON), BM_GETCHECK, 0, 0)?TRUE:FALSE;
				//ADD START TODA
				g_MainWnd.m_ListView.m_ImageListSettings.bNotLoadCompIcon = SendMessage(GetDlgItem(hDlg, IDC_CHK_NOTLOAD_COMPICON), BM_GETCHECK, 0, 0)?TRUE:FALSE;
				//ADD END
				return TRUE;
			}
			break;
		}
		case WM_COMMAND:
		{
			if (LOWORD(wParam)==IDC_BTN_DELETE_ICON)
			{
				pod->m_bRefreshIcon = TRUE;
				EnableWindow(GetDlgItem(hDlg, IDC_BTN_DELETE_ICON), 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 START TODA
///////////////////////////////////////////////////////////////
LRESULT CALLBACK PPOptionCompressProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch (message)
	{
		case WM_INITDIALOG:
		{
			SetWindowLong(hDlg, DWL_MSGRESULT, FALSE);
			SendMessage(GetDlgItem(hDlg, IDC_RADIO_LHA), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.nCompDLL == COMPDLL_MODE_LHA?1:0, 0);
			SendMessage(GetDlgItem(hDlg, IDC_RADIO_ZIP), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.nCompDLL == COMPDLL_MODE_ZIP?1:0, 0);
			SendMessage(GetDlgItem(hDlg, IDC_CHK_AUTOUNCOMP), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.bAutoUnComp?1:0, 0);
			SendMessage(GetDlgItem(hDlg, IDC_CHK_MAKEDIR), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.bMakeDir?1:0, 0);
			SendMessage(GetDlgItem(hDlg, IDC_CHK_MOVEDIR), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.bMoveDir?1:0, 0);
			SendMessage(GetDlgItem(hDlg, IDC_CHK_DBLCLICK), BM_SETCHECK, g_MainWnd.m_ListView.m_Settings.bDblClick?1:0, 0);
			SetWindowText(GetDlgItem(hDlg, IDC_EDIT_PATH), g_MainWnd.m_ListView.m_szCompressFolder);
			if(!g_MainWnd.m_Compress.IsCompress(COMPDLL_MODE_LHA)) {
				SetWindowLong(GetDlgItem(hDlg,IDC_RADIO_LHA), GWL_STYLE,
					GetWindowLong(GetDlgItem(hDlg,IDC_RADIO_LHA), GWL_STYLE)|WS_DISABLED);
				SendMessage(GetDlgItem(hDlg, IDC_RADIO_LHA), BM_SETCHECK, 0, 0);
			}
			if(!g_MainWnd.m_Compress.IsCompress(COMPDLL_MODE_ZIP)) {
				SetWindowLong(GetDlgItem(hDlg,IDC_RADIO_ZIP), GWL_STYLE,
					GetWindowLong(GetDlgItem(hDlg,IDC_RADIO_ZIP), GWL_STYLE)|WS_DISABLED);
				SendMessage(GetDlgItem(hDlg, IDC_RADIO_ZIP), BM_SETCHECK, 0, 0);
			}
			if(!g_MainWnd.m_Compress.IsCompress(COMPDLL_MODE_LHA) &&
			   !g_MainWnd.m_Compress.IsCompress(COMPDLL_MODE_ZIP)) {
				SetWindowLong(GetDlgItem(hDlg,IDC_CHK_AUTOUNCOMP), GWL_STYLE,
					GetWindowLong(GetDlgItem(hDlg,IDC_CHK_AUTOUNCOMP), GWL_STYLE)|WS_DISABLED);
				SetWindowLong(GetDlgItem(hDlg,IDC_CHK_MAKEDIR), GWL_STYLE,
					GetWindowLong(GetDlgItem(hDlg,IDC_CHK_MAKEDIR), GWL_STYLE)|WS_DISABLED);
				SetWindowLong(GetDlgItem(hDlg,IDC_CHK_MOVEDIR), GWL_STYLE,
					GetWindowLong(GetDlgItem(hDlg,IDC_CHK_MOVEDIR), GWL_STYLE)|WS_DISABLED);
				SetWindowLong(GetDlgItem(hDlg,IDC_CHK_DBLCLICK), GWL_STYLE,
					GetWindowLong(GetDlgItem(hDlg,IDC_CHK_DBLCLICK), GWL_STYLE)|WS_DISABLED);
				EnableWindow(GetDlgItem(hDlg,IDC_EDIT_PATH), FALSE);
			}
			return TRUE;
		}
		case WM_NOTIFY:
		{
			NMHDR* pnmh = (NMHDR*)lParam;
			if (pnmh->code == PSN_APPLY)
			{
				g_MainWnd.m_ListView.m_Settings.nCompDLL =
					SendMessage(GetDlgItem(hDlg, IDC_RADIO_LHA), BM_GETCHECK, 0, 0)?COMPDLL_MODE_LHA:COMPDLL_MODE_ZIP;
				g_MainWnd.m_ListView.m_Settings.bAutoUnComp = 
					SendMessage(GetDlgItem(hDlg, IDC_CHK_AUTOUNCOMP), BM_GETCHECK, 0, 0)?TRUE:FALSE;
				g_MainWnd.m_ListView.m_Settings.bMakeDir = 
					SendMessage(GetDlgItem(hDlg, IDC_CHK_MAKEDIR), BM_GETCHECK, 0, 0)?TRUE:FALSE;
				g_MainWnd.m_ListView.m_Settings.bMoveDir = 
					SendMessage(GetDlgItem(hDlg, IDC_CHK_MOVEDIR), BM_GETCHECK, 0, 0)?TRUE:FALSE;
				g_MainWnd.m_ListView.m_Settings.bDblClick = 
					SendMessage(GetDlgItem(hDlg, IDC_CHK_DBLCLICK), BM_GETCHECK, 0, 0)?TRUE:FALSE;
				GetWindowText(GetDlgItem(hDlg, IDC_EDIT_PATH), g_MainWnd.m_ListView.m_szCompressFolder, MAX_PATH);
				return TRUE;
			}
			break;
		}
#ifdef __POCKET_PC
		case WM_PAINT:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -