📄 testwizardfilepreviewpage.h
字号:
#ifndef __TestWizardFilePreviewPage_h__
#define __TestWizardFilePreviewPage_h__
#include "TestWizardInfo.h"
///////////////////////////////////////////////////////////////////////////////
// CFileListViewCtrl - a sortable list view of the resulting files
typedef CWinTraits<
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN |
LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS,
WS_EX_CLIENTEDGE> CFileListViewCtrlWinTraits;
class CFileListViewCtrl :
public CSortListViewCtrlImpl<CFileListViewCtrl, CListViewCtrl, CFileListViewCtrlWinTraits>,
public ITestWizardFindFileCB
{
protected:
// Typedefs
typedef CFileListViewCtrl thisClass;
typedef CSortListViewCtrlImpl<CFileListViewCtrl, CListViewCtrl, CFileListViewCtrlWinTraits> baseClass;
public:
// Enumerations
enum ListColumnIndex
{
ListColumn_Name = 0,
ListColumn_Folder = 1,
ListColumn_LastModified = 2,
ListColumn_Size = 3,
ListColumn_SizeBytes = 4,
ListColumn_FullPath = 5,
};
// Message Handling
DECLARE_WND_SUPERCLASS(_T("FileListView"), CListViewCtrl::GetWndClassName())
BEGIN_MSG_MAP(thisClass)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
MESSAGE_HANDLER(WM_CONTEXTMENU, OnContextMenu)
CHAIN_MSG_MAP(baseClass)
DEFAULT_REFLECTION_HANDLER()
END_MSG_MAP()
LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
// Helpers
void Initialize(void);
void InitializeListColumns(void);
void Uninitialize(void);
// Overrides for CWindowImpl
BOOL SubclassWindow(HWND hWnd);
HWND UnsubclassWindow(BOOL bForce = FALSE);
// Overrides for CSortListViewImpl
int CompareItemsCustom(LVCompareParam* pItem1, LVCompareParam* pItem2, int iSortCol);
// ITestWizardFindFileCB
virtual bool OnBeginFindFiles(void) { return true; }
virtual void OnEndFindFiles(void) { }
virtual bool OnBeginDirectorySearch(LPCTSTR /*directory*/) { return true; }
virtual void OnEndDirectorySearch(LPCTSTR /*directory*/) { }
virtual void OnFileFound(LPCTSTR directory, LPWIN32_FIND_DATA findFileData);
// Methods
int AddFile(LPCTSTR fileFullPath);
int AddFile(LPCTSTR directory, LPCTSTR fileSpec, LPCTSTR fileFullPath, FILETIME lastWriteTimeUTC, ULONGLONG fileSize);
void AutoResizeColumns(void);
void ClearSortHeaderBitmap(void);
};
///////////////////////////////////////////////////////////////////////////////
// CTestWizardFilePreviewPage - Wizard page to preview the files located by the path/filter
class CTestWizardFilePreviewPage :
public CWizard97InteriorPageImpl<CTestWizardFilePreviewPage>,
public CTestWizardInfoRef
{
protected:
// Typedefs
typedef CTestWizardFilePreviewPage thisClass;
typedef CWizard97InteriorPageImpl<CTestWizardFilePreviewPage> baseClass;
// Data members
CFileListViewCtrl m_listFiles;
CButton m_buttonPreview;
public:
// Constructor
CTestWizardFilePreviewPage(_U_STRINGorID title = (LPCTSTR)NULL) :
baseClass(title)
{
baseClass::SetHeaderTitle(_T("Preview File List"));
baseClass::SetHeaderSubTitle(_T("Preview the list of files identified by the path and filter."));
}
// Message Handlers
enum { IDD = IDD_WIZ97_FILEPREVIEW };
BEGIN_MSG_MAP(thisClass)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
COMMAND_HANDLER(IDC_BTN_PREVIEW, BN_CLICKED, OnClickPreview)
CHAIN_MSG_MAP(baseClass)
REFLECT_NOTIFICATIONS_ID_FILTERED(IDC_LIST_FILES)
END_MSG_MAP()
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnClickPreview(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
// Helpers
void InitializeControls(void);
//void InitializeControlSizes(void);
void UninitializeControls(void);
void InitializeValues(void);
bool StoreValues(void);
void UpdateFileList();
// Overrides from base class
int OnSetActive();
int OnWizardNext();
int OnWizardBack();
void OnHelp();
};
#endif // __TestWizardFilePreviewPage_h__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -