📄 listview.h
字号:
#if !defined(__LISTVIEW_H_INCLUDED)
#define __LISTVIEW_H_INCLUDED
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
///////////////////////////////////////////////////////////////
//INCLUDE
#include "resource.h"
#include "FileImageList.h"
#include "MultiBuff.h"
#include "Compress.h" //ADD TODA
///////////////////////////////////////////////////////////////
typedef struct _tagListItemComp
{
LPTSTR lpszPath; //ADD TODA (専嶕梡)
LPTSTR lpszName;
FILETIME ft;
DWORD dwSize;
int nItem;
DWORD dwAttr;
//昞帵梡
int nState;
int nIcon;
LPTSTR lpszDispName;
LPTSTR lpszDispSize;
LPTSTR lpszDispType;
LPTSTR lpszDispTime;
_tagListItemComp()
{
nIcon = -1;
lpszDispName = NULL;
lpszDispSize = NULL;
lpszDispType = NULL;
lpszDispTime = NULL;
}
} LISTITEMCOMP;
typedef struct _tagListItemInfo
{
int nIndex;
int nItem;
TCHAR szPath[MAX_PATH]; //ADD TODA
TCHAR szName[MAX_PATH];
BOOL bDone;
} LISTITEMINFO;
typedef struct _tagOpenAppInfo
{
LPTSTR lpszPath;
} OPENAPPINFO;
//ADD START TODA
typedef struct _tagFavoritesInfo
{
LPTSTR lpszPath;
struct _tagFavoritesInfo *lpNext;
} FAVORITESINFO;
typedef struct _tagHistoryInfo
{
LPTSTR lpszPath;
struct _tagHistoryInfo *lpPrev;
struct _tagHistoryInfo *lpNext;
} HISTORYINFO;
typedef struct _tabSearchData
{
LPTSTR lpszPath;
LPTSTR lpszName;
DWORD dwAttr;
FILETIME ft;
DWORD dwSize;
struct _tabSearchData *lpPrev;
struct _tabSearchData *lpNext;
} SEARCHDATA;
//ADD END
///////////////////////////////////////////////////////////////
//DEFINE
#ifdef __POCKET_PC
# define MAX_OPENAPP 16
#else
# define MAX_OPENAPP 10
#endif
#define KEY_ACTION_COUNT 1000
///////////////////////////////////////////////////////////////
// CListView僋儔僗
typedef struct _tagFileImageListSettings
{
BOOL bNotLoadFileIcon; //僼傽僀儖偺傾僀僐儞傪撉傒崬傓偐
BOOL bNotLoadROMIcon; //ROM僼傽僀儖偺傾僀僐儞傪撉傒崬傓偐
BOOL bNotLoadCompIcon; //埑弅僼傽僀儖偺傾僀僐儞傪撉傒崬傓偐
}FILEIMAGELISTSETTINGS;
typedef struct _tagListViewSettings
{
int nSort;
BOOL bSortRaise;
DWORD dwListStyle;
DWORD dwListExStyle;
BOOL bHideHidden;
BOOL bHideSystem;
BOOL bHideROM;
int nNameColumnSize;
int nSizeColumnSize;
int nTypeColumnSize;
int nTimeColumnSize;
BOOL bSaveFolder;
BOOL bNotShortcutName;
BOOL bNotShowExt;
BOOL bSingleClick;
BOOL bHideHeader;
BOOL bAddUpper;
DWORD nCompDLL; //ADD TODA
BOOL bAutoUnComp; //ADD TODA
BOOL bMakeDir; //ADD TODA
BOOL bMoveDir; //ADD TODA
BOOL bDblClick; //ADD TODA
}LISTVIEWSETTINGS;
class CListView
{
public:
HWND m_hWnd;// 僐儅儞僪 僶乕 僴儞僪儖
CFileImageList m_FileImageListLarge;
CFileImageList m_FileImageListSmall;
CFileImageList* m_pFileImageList;
FILEIMAGELISTSETTINGS m_ImageListSettings;
LISTVIEWSETTINGS m_Settings;
TCHAR m_szCurrentFolder[MAX_PATH];
TCHAR m_szCompressFolder[MAX_PATH]; //ADD TODA
TCHAR m_szOldFolder[MAX_PATH]; //ADD TODA
BOOL m_bTimeStump; //ADD TODA
BOOL m_bHideFolder; //ADD TODA
BOOL m_bNoExtShortcut; //ADD TODA
CCompress *m_pCompress; //ADD TODA
//CUT & PASTE梡
int m_nCount;
BOOL m_bFileMove;
LISTITEMINFO* m_lpliinfo;
TCHAR m_szFolderFrom[MAX_PATH];
UINT m_nFileSize;
//儊僯儏乕
HMENU m_hMenuPopup;
OPENAPPINFO* m_lpOpenAppInfo[MAX_OPENAPP];
OPENAPPINFO* m_lpOpenPthInfo[MAX_OPENAPP]; //ADD TODA
int m_nOpenAppInfoCount;
int m_nOpenPthInfoCount; //ADD TODA
BOOL m_bEditing;
DWORD m_dwUpperParam;
//ADD START TODA
BOOL m_bTaping;
BOOL m_bHolding;
BOOL m_bMenu;
HWND m_hFocus;
DWORD m_dwTapPos;
int m_nItemCnt;
int *m_lpnItem;
int m_nSelectStart;
int m_nSelectMin;
int m_nSelectItem;
HISTORYINFO *m_lpHistory;
HISTORYINFO *m_lpHistoryCurrent;
SEARCHDATA *m_lpSearchData;
FAVORITESINFO *m_lpFavorites;
FAVORITESINFO *m_lpFavoritesCurrent;
int m_nFavoritesCount;
//ADD END
public:
CListView();
~CListView();
void Init(HWND);
void Destroy();
void SetImageList();
void GetSettings();
void SaveSettings();
void SortList();
void OnSelEndOK();
void OnColumnClick(NMLISTVIEW*);
void MainWindowReset(LPCTSTR, int); //ADD TODA
void LoadFolderReset(LPCTSTR); //ADD TODA
void LoadFolderSearch(LPCTSTR); //ADD TODA
void LoadFolderFiles(LPCTSTR, BOOL); //ADD TODA
void LoadFolderItem(LPCTSTR lpszPath, BOOL bTVUpdate = TRUE); //MOD TODA
void LoadFolderItemSub(LPCTSTR); //ADD TODA
void SelectFile(LPCTSTR); //ADD TODA
void AddFolderItemSub(LPCTSTR, LPCTSTR, DWORD, FILETIME, DWORD, UINT*, BOOL); //ADD TODA
void AddFolderItem(WIN32_FIND_DATA*, LPCTSTR, UINT*, BOOL bSelect=FALSE); //MOD TODA
void ComFileOpen(LPCTSTR); //ADD TODA
HMENU GetOpenAppSubMenu1(); //ADD TODA
HMENU GetOpenAppSubMenu2(); //ADD TODA
void DeleteOpenAppSubMenuSep(HMENU); //ADD TODA
void InitOpenAppMenu();
HMENU GetUserPathSubMenu1(); //mod by kawa
HMENU GetUserPathSubMenu2(); //add by kawa
void DeleteUserPathMenuSep(HMENU); //ADD TODA
void DeleteUserPathMenu(); //ADD TODA
void InitUserPathMenu(); //ADD TODA
void OnToolUserPath(int); //ADD TODA
HMENU GetFavoritesSubMenu1(); //mod by kawa
HMENU GetFavoritesSubMenu2(); //add by kawa
int DeleteFavoritesItem(FAVORITESINFO*); //ADD TODA
FAVORITESINFO *AddFavoritesItem(FAVORITESINFO*,LPCTSTR); //ADD TODA
void DeleteFavoritesMenu(); //ADD TODA
void DeleteSubMenu(HMENU); //ADD TODA
void InitFavoritesMenu(); //ADD TODA
void InitFavoritesSubMenu(HMENU, LPTSTR, int *pnCnt=NULL); //ADD TODA
void OnToolFavoritesLnk(int); //ADD TODA
void OnChangeListStyle(UINT);
void OnChangeSort(UINT);
void OnViewUpdate(LPCTSTR lpszPath=NULL); //MOD TODA
void OnViewUpFolder();
void OnViewFolder();
void OnItemChanged(); //MOD TODA
DWORD OnKeyDown(LPNMLVKEYDOWN); //MOD TODA
int CheckMessageID(int); //ADD TODA
void OnRClick(int, int);
BOOL OnEndLabelEdit(LV_DISPINFO*);
void OnFileRename();
void OnEditCopyFileName();
void OnEditCopyFilePath();
void OnEditCut();
void OnEditCopy();
void OnEditPaste(BOOL bUpdate = TRUE); //MOD TODA
void OnEditSelectSwitch();
void OnEditPasteShortcut(BOOL bUpdate = TRUE); //MOD TODA
int GetSelectedItemIndex(int);
LISTITEMCOMP* GetListItemStruct(int);
void MakeSelectedItemsStrings(LISTITEMINFO*, int);
void OnFileCreateFolder();
void OnFileCreateShortcut();
void OnFileShortcutFolder(LPTSTR lpszPath=NULL);//MOD TODA
void OnFileProperty();
void OnFileOpen();
void OnFileOpen(int);
void OnFileOpenParam();
void OnFileOpenApp(int);
void OnFileToApp(); //ADD TODA (from GSFinder ver.1.99)
void OnFileIRSend();
void OnFileCopyFolder();
void OnFileMoveFolder();
void OnFileDelete();
BOOL OnFileCompress(); //ADD TODA
BOOL OnFileUnCompress(); //ADD TODA
#ifdef __POCKET_PC
void OnTapAndHold(NMRGINFO*);
#endif
void OnTapHoldBegin(DWORD);
void OnTapHoldCancel();
void OnTapHoldEnter();
void OnExitMenuLoop(); //ADD TODA
void OnSelectMenuLoop(); //ADD TODA
void OnGetDispInfo(NMLVDISPINFO*);
void OnListStyle();
void DeleteAllItem();
void AddUpper();
int GetValidAndSelectedCount();
//ADD START TODA
void OnMouseMove(POINT);
void OnMouseMoveArea(POINT);
BOOL OnLButtonUp(HWND);
void OnDropEnter(HWND, int);
void OnDropCansel();
void OnFavoritesAdd();
void OnFavoritesOrganize();
void OnUserPath();
HISTORYINFO* AddHistory(HISTORYINFO*, LPCTSTR);
void DeleteHistory(HISTORYINFO*);
void OnGoFront();
void OnGoBack();
SEARCHDATA *AddSearch(SEARCHDATA*,LPCTSTR,LPCTSTR,FILETIME,DWORD,DWORD);
void DeleteSearch(SEARCHDATA*);
void EditSearch(LPTSTR,LPTSTR,LPTSTR,LPTSTR,BOOL bDelete=FALSE);
void OnFileSearch();
void OnGotoFolderDropDown();
//ADD END
//ADD START TODA (from GSFinder ver.1.99)
BOOL IsSelectionFile();
BOOL CreateShortcut(LPTSTR szDir, LPTSTR szTargetDir, LPTSTR szTargetFile);
//ADD END
};
///////////////////////////////////////////////////////////////
#endif // !defined(__LISTVIEW_H_INCLUDED)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -