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

📄 gsfinder.cpp

📁 PocketPC上很好用的文件管理器,而且里面的封装性很好,学windows mobile开发的兄弟,值得一看
💻 CPP
📖 第 1 页 / 共 4 页
字号:
						g_MainWnd.m_ListView.OnFileProperty();
					else
					if(hFocus == g_MainWnd.m_TreeView.m_hWnd)
						g_MainWnd.m_TreeView.OnFileProperty();
					break;
				}
				//愒奜慄憲怣
				case ID_FILE_IR_SEND:
				{
					if(hFocus == g_MainWnd.m_ListView.m_hWnd)
						g_MainWnd.m_ListView.OnFileIRSend();
					else
					if(hFocus == g_MainWnd.m_TreeView.m_hWnd)
						g_MainWnd.m_TreeView.OnFileIRSend();
					break;
				}
				//巜掕偺僼僅儖僟傊僔儑乕僩僇僢僩嶌惉
				case ID_FILE_SHORTCUT_FOLDER:
				{
					if(hFocus == g_MainWnd.m_ListView.m_hWnd)
						g_MainWnd.m_ListView.OnFileShortcutFolder();
					else
					if(hFocus == g_MainWnd.m_TreeView.m_hWnd)
						g_MainWnd.m_TreeView.OnFileShortcutFolder();
					break;
				}
				//巜掕僼僅儖僟偵僼傽僀儖傪僐僺乕
				case ID_FILE_COPY_FOLDER:
				{
					if(hFocus == g_MainWnd.m_ListView.m_hWnd)
						g_MainWnd.m_ListView.OnFileCopyFolder();
					else
					if(hFocus == g_MainWnd.m_TreeView.m_hWnd)
						g_MainWnd.m_TreeView.OnFileCopyFolder();
					break;
				}
				//巜掕僼僅儖僟偵僼傽僀儖傪堏摦
				case ID_FILE_MOVE_FOLDER:
				{
					if(hFocus == g_MainWnd.m_ListView.m_hWnd)
						g_MainWnd.m_ListView.OnFileMoveFolder();
					else
					if(hFocus == g_MainWnd.m_TreeView.m_hWnd)
						g_MainWnd.m_TreeView.OnFileMoveFolder();
					break;
				}
				//埑弅
				case ID_FILE_COMPRESS:
				{
					if(hFocus == g_MainWnd.m_ListView.m_hWnd)
						g_MainWnd.m_ListView.OnFileCompress();
					else
					if(hFocus == g_MainWnd.m_TreeView.m_hWnd)
						g_MainWnd.m_TreeView.OnFileCompress();
					break;
				}	
				//夝搥
				case ID_FILE_UNCOMPRESS:
				{
					if(hFocus == g_MainWnd.m_ListView.m_hWnd)
						g_MainWnd.m_ListView.OnFileUnCompress();
					break;
				}
				//柤慜傪僐僺乕
				case ID_EDIT_COPY_FILE_NAME:
				{
					if(hFocus == g_MainWnd.m_ListView.m_hWnd)
						g_MainWnd.m_ListView.OnEditCopyFileName();
					else
					if(hFocus == g_MainWnd.m_TreeView.m_hWnd)
						g_MainWnd.m_TreeView.OnEditCopyFileName();
					break;
				}
				//僷僗傪僐僺乕
				case ID_EDIT_COPY_FILE_PATH:
				{
					if(hFocus == g_MainWnd.m_ListView.m_hWnd)
						g_MainWnd.m_ListView.OnEditCopyFilePath();
					else
					if(hFocus == g_MainWnd.m_TreeView.m_hWnd)
						g_MainWnd.m_TreeView.OnEditCopyFilePath();
					break;
				}
				//慡偰慖戰
				case ID_EDIT_SELECTALL:
					SetFocus(g_MainWnd.m_ListView.m_hWnd);
					ListView_SetItemState(g_MainWnd.m_ListView.m_hWnd, -1, LVIS_SELECTED, LVIS_SELECTED);
					break;
				//慖戰夝彍
				case ID_EDIT_NOTSEL_ALL:
					SetFocus(g_MainWnd.m_ListView.m_hWnd);
					ListView_SetItemState(g_MainWnd.m_ListView.m_hWnd, -1, 0, LVIS_SELECTED);
					break;
				//慖戰偺愗傝懼偊
				case ID_EDIT_SELECT_SWITCH:
					SetFocus(g_MainWnd.m_ListView.m_hWnd);
					g_MainWnd.m_ListView.OnEditSelectSwitch();
					break;
				//僣乕儖儊僯儏乕
				//僱僢僩儚乕僋愙懕偺妱傝摉偰
				case ID_TOOL_NETWORK_COM:
					g_MainWnd.OnNetworkDriveConnect();
					break;
				//僱僢僩儚乕僋愙懕偺愗抐
				case ID_TOOL_NETWORK_DCOM:
					g_MainWnd.OnNetworkDriveDisconnect();
					break;
				//ActiveSync
				case ID_TOOL_ACTIVESYNC:
					g_MainWnd.OnToolActivesync();
					break;
				//PC儕儞僋
				case ID_TOOL_PCLINK:
					g_MainWnd.OnToolPclink();
					break;
				//愒奜慄庴怣
				case ID_FILE_IRRECEIVE:
					g_MainWnd.OnToolIRRecive();
					break;
				//僆僾僔儑儞
				case ID_TOOL_OPTION:
				{
					COptionDlg od;
					od.ShowOptionDlg();
					break;
				}
				//恑傓
				case ID_GO_FRONT:
					g_MainWnd.m_ListView.OnGoFront();
					break;
				//栠傞
				case ID_GO_BACK:
					g_MainWnd.m_ListView.OnGoBack();
					break;
				//偍婥偵擖傝傊捛壛
				case ID_FAVORITES_ADD:
				{
					if(hFocus == g_MainWnd.m_ListView.m_hWnd)
						g_MainWnd.m_ListView.OnFavoritesAdd();
					else
					if(hFocus == g_MainWnd.m_TreeView.m_hWnd)
						g_MainWnd.m_TreeView.OnFavoritesAdd();
					break;
				}
				//偍婥偵擖傝偺惍棟
				case ID_FAVORITES_ARG:
					g_MainWnd.m_ListView.OnFavoritesOrganize();
					break;
				//僣乕儖儃僞儞僪儘僢僾僟僂儞帪
				case IDC_BTN_GOTOFOLDER:
					g_MainWnd.m_ListView.OnGotoFolderDropDown();
					break;
				//儅僀僪僉儏儊儞僩
				case ID_TOOL_MYDOCUMENTS:
					g_MainWnd.m_ListView.OnViewUpdate(g_MainWnd.m_szMyDocumentPath);
					break;
				//僗僞乕僩儊僯儏乕
				case ID_TOOL_STARTMENU:
					g_MainWnd.m_ListView.OnViewUpdate(g_MainWnd.m_szStartMenuPath);
					break;
				//僨僗僋僩僢僾
				case ID_TOOL_DESKTOP:
					g_MainWnd.m_ListView.OnViewUpdate(g_MainWnd.m_szDesktopPath);
					break;
				//儅僀僐儞僺儏乕僞
				case ID_TOOL_MYDEVICE:
					g_MainWnd.m_ListView.OnViewUpdate(_T(""));
					break;
				//儐乕僓乕僷僗
				case ID_TOOL_USERPATH:
					g_MainWnd.m_ListView.OnUserPath();
					break;
			}

			//僞僢僾&儂乕儖僪梡屻張棟
			g_MainWnd.m_ListView.OnSelectMenuLoop();
			g_MainWnd.m_TreeView.OnSelectMenuLoop();


			switch (wmEvent)
			{
				//僐儞儃儃僢僋僗
				case CBN_SELENDOK:
				{
					HWND hwndComboBox = (HWND) lParam;
					if (hwndComboBox == g_MainWnd.m_CmdBands.m_hComboBox)
					{
						g_MainWnd.m_ListView.OnSelEndOK();
					}
					break;
				}
				default:
				   return DefWindowProc(hWnd, message, wParam, lParam);
			}
			break;
		}
		//僣儕乕價儏乕/儕僗僩價儏乕敪惗僀儀儞僩
		case WM_NOTIFY:
		{
			//MOD START TODA (from GSFinder ver.1.99)
			LPNMHDR pNmHdr = (LPNMHDR)lParam;
			switch (pNmHdr->code)
			{

#ifdef __POCKET_PC
				//僞僢僾傾儞僪儂乕儖僪

			case GN_CONTEXTMENU:
					if(g_bDraging) break;

					if (hFocus == g_MainWnd.m_ListView.m_hWnd)
						g_MainWnd.m_ListView.OnTapAndHold((NMRGINFO*)lParam);
					else
					if (hFocus == g_MainWnd.m_TreeView.m_hWnd)
						g_MainWnd.m_TreeView.OnTapAndHold();
					return TRUE;
#else
				//僒僀僘偺曄峏
				case RBN_AUTOSIZE:
					g_MainWnd.m_CmdBands.OnAutoSize();
					g_MainWnd.RecalcLayout();
					break;
#endif

				//儕僗僩傪僟僽儖僋儕僢僋
				case NM_DBLCLK:
					if (hFocus == g_MainWnd.m_ListView.m_hWnd) {
						g_MainWnd.m_ListView.OnFileOpen();
					}
					break;
				//儕僗僩傪僔儞僌儖僋儕僢僋
				case NM_CLICK:
					//僞僢僾&儂乕儖僪夝彍
					g_MainWnd.m_TreeView.OnTapHoldCancel();
					g_MainWnd.m_ListView.OnTapHoldCancel();
					//僞僢僾&儂乕儖僪張棟拞偺応崌偼壗傕偟側偄
					if(g_MainWnd.m_ListView.m_bHolding ||
					   g_MainWnd.m_TreeView.m_bHolding) break;

					//僔儞僌儖僋儕僢僋偱幚峴巜掕帪
					if (g_MainWnd.m_ListView.m_Settings.bSingleClick &&
						pNmHdr->hwndFrom == g_MainWnd.m_ListView.m_hWnd)
					{
						//MOD START TODA (from GSFinder ver.1.99)
						if (!(GET_KEYSTATE(VK_CONTROL)&0x8000) &&
							!(GET_KEYSTATE(VK_SHIFT)&0x8000) &&
							!(GET_KEYSTATE(VK_MENU)&0x8000) && 
							!g_bIgureClick)
						//MOD END
						{
							//慖戰傾僀僥儉偑1屄偺傒偺応崌
							if (1 == ListView_GetSelectedCount(
										g_MainWnd.m_ListView.m_hWnd))
							{
								g_MainWnd.m_ListView.OnFileOpen();
								break;
							}
						}
						g_bIgureClick = FALSE;	//ADD TODA (from GSFinder ver.1.99)
					}

					//塃僋儕僢僋(Alt+僋儕僢僋)偱偼側偄応崌
					if (!(!(GET_KEYSTATE(VK_CONTROL)&0x8000) &&
						  !(GET_KEYSTATE(VK_SHIFT)&0x8000) &&
						   (GET_KEYSTATE(VK_MENU)&0x8000)))
					{
						break;
					}
					//塃僋儕僢僋偺応崌NM_RCLICK帪偺張棟傪宲懕(break偟側偄)

				//塃僋儕僢僋
				case NM_RCLICK:
					//僞僢僾&儂乕儖僪夝彍
					g_MainWnd.m_TreeView.OnTapHoldCancel();
					g_MainWnd.m_ListView.OnTapHoldCancel();

					//僞僢僾&儂乕儖僪張棟拞偺応崌偼壗傕偟側偄
					if(g_MainWnd.m_ListView.m_bHolding ||
					   g_MainWnd.m_TreeView.m_bHolding) break;

					//塃僋儕僢僋儊僯儏乕昞帵
					if (hFocus == g_MainWnd.m_ListView.m_hWnd) {
						LPNMLISTVIEW lpnmlv = (LPNMLISTVIEW)lParam;
						g_MainWnd.m_ListView.OnRClick(lpnmlv->ptAction.x, lpnmlv->ptAction.y);
					}
					else
					if (hFocus == g_MainWnd.m_TreeView.m_hWnd)
					{
						DWORD dwPos = GetMessagePos();
						g_MainWnd.m_TreeView.OnRClick(LOWORD(dwPos), HIWORD(dwPos), TRUE);
					}
					break;
				//Enter僉乕墴壓
				
				case NM_RETURN:
					
					if (hFocus == g_MainWnd.m_ListView.m_hWnd)
					{
						if (GET_KEYSTATE(VK_MENU)&0x8000)
							g_MainWnd.m_ListView.OnFileProperty();
						else
							g_MainWnd.m_ListView.OnFileOpen();
					}
					else
					if (hFocus == g_MainWnd.m_TreeView.m_hWnd)
					{
						if (GET_KEYSTATE(VK_MENU)&0x8000)
							g_MainWnd.m_TreeView.OnFileProperty();
					}
					break;
				


				//僼僅乕僇僗愝掕帪
				case NM_SETFOCUS:
					g_MainWnd.OnSetFocus((HWND)pNmHdr->hwndFrom);
					break;
				//僼僅乕僇僗旕愝掕帪
				case NM_KILLFOCUS:
					if (hFocus == g_MainWnd.m_TreeView.m_hWnd) {
						g_MainWnd.m_TreeView.OnKillFocus();
					}
					break;
				//柤慜偺曄峏奐巒
				case LVN_BEGINLABELEDIT:
					//僞僢僾&儂乕儖僪夝彍
					g_MainWnd.m_ListView.OnTapHoldCancel();
					g_MainWnd.m_ListView.m_bEditing = TRUE;
					g_MainWnd.m_CmdBands.SetEnableEditPasteBef();	//ADD TODA
					break;
				//柤慜偺曄峏廔椆
				case LVN_ENDLABELEDIT:
					//僞僢僾&儂乕儖僪夝彍
					g_MainWnd.m_ListView.OnTapHoldCancel();
					g_MainWnd.m_ListView.m_bEditing = FALSE;
					g_MainWnd.m_CmdBands.SetEnableEditPasteAft();	//ADD TODA
					return g_MainWnd.m_ListView.OnEndLabelEdit((LV_DISPINFO*)lParam);
				//傾僀僥儉慖戰帪
				case LVN_ITEMCHANGED:
					if(g_bDraging) break;

					if(hFocus == g_MainWnd.m_ListView.m_hWnd)
						g_MainWnd.m_ListView.OnItemChanged();
					break;
				//僇儔儉僋儕僢僋帪
				case LVN_COLUMNCLICK:
					g_MainWnd.m_ListView.OnColumnClick((LPNMLISTVIEW)lParam);
					break;
				//傾僀僐儞峏怴帪
				case LVN_GETDISPINFO:
					//傾僀僐儞抶墑撉傒崬傒
					g_MainWnd.m_ListView.OnGetDispInfo((NMLVDISPINFO*)lParam);
					break;
				//僪儔僢僌偺奐巒
				case LVN_BEGINDRAG:
					//僞僢僾&儂乕儖僪夝彍
					g_MainWnd.m_ListView.OnTapHoldCancel();
					g_bDraging = TRUE;
					g_MainWnd.OnBeginDrag((LPNMHDR)lParam);
					break;
				//僪儔僢僌偺奐巒
				case TVN_BEGINDRAG:
					//僞僢僾&儂乕儖僪夝彍
					g_MainWnd.m_TreeView.OnTapHoldCancel();
					g_bDraging = TRUE;
					g_MainWnd.OnBeginDrag((LPNMHDR)lParam);
					break;
				//柤慜偺曄峏奐巒
				case TVN_BEGINLABELEDIT:
					//僞僢僾&儂乕儖僪夝彍
					g_MainWnd.m_TreeView.OnTapHoldCancel();
					g_MainWnd.m_TreeView.m_bEditing = TRUE;
					g_MainWnd.m_CmdBands.SetEnableEditPasteBef();	//ADD TODA
					g_MainWnd.m_TreeView.GetCurrentFolder();
					break;
				//柤慜偺曄峏廔椆
				case TVN_ENDLABELEDIT:
					//僞僢僾&儂乕儖僪夝彍
					g_MainWnd.m_TreeView.OnTapHoldCancel();
					g_MainWnd.m_TreeView.m_bEditing = FALSE;
					g_MainWnd.m_CmdBands.SetEnableEditPasteAft();	//ADD TODA
					return g_MainWnd.m_TreeView.OnEndLabelEdit((TV_DISPINFO*)lParam);
				// 僼僅乕僇僗偑愝掕偝傟偨応崌
				case TVN_SELCHANGED:
					if(hFocus == g_MainWnd.m_TreeView.m_hWnd)
						g_MainWnd.m_TreeView.OnSelChanged((NMTREEVIEW*)lParam);
					break;
				//僣儕乕揥奐帪
				case TVN_ITEMEXPANDING:
					g_MainWnd.m_TreeView.OnItemExpanding((NMTREEVIEW*)lParam);
					break;
				//僣儕乕揥奐廔椆帪
				case TVN_ITEMEXPANDED:
					g_MainWnd.m_TreeView.OnItemExpanded((NMTREEVIEW*)lParam);
					break;
				//ADD START TODA (from GSFinder ver.1.99)
				case LVN_MARQUEEBEGIN:
					g_bIgureClick = TRUE;
					break;
				//ADD END
				default:
				   return DefWindowProc(hWnd, message, wParam, lParam);
			}
			break;
			//MOD END
		}
		//僂傿儞僪僂惗惉
		case WM_CREATE:
			g_MainWnd.OnCreate();
			break;
		//僂傿儞僪僂僋儘乕僘
		case WM_CLOSE:
			g_MainWnd.OnClose();
			break;
		//僂傿儞僪僂攋婞
		case WM_DESTROY:
			g_MainWnd.OnDestroy();
			break;
		//僂傿儞僪僂僒僀僘曄峏
		case WM_SIZE:
			//僐儅儞僪僶乕僗僥乕僞僗僶乕偺儗僀傾僂僩曄峏
			g_MainWnd.RecalcBarLayout(wParam, lParam);
			//MOD START TODA (僞僗僋愗傝懼偊帪偺僣乕儖僶乕昞帵堎忢)

⌨️ 快捷键说明

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