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

📄 chmfile.h

📁 Windows Mobile,ppc,wince下的chm格式文件阅读器源代码
💻 H
字号:
// CHMFile.h: interface for the CCHMFile class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_CHMFILE_H__2E720CAC_B39A_438A_B21C_8364ED476456__INCLUDED_)
#define AFX_CHMFILE_H__2E720CAC_B39A_438A_B21C_8364ED476456__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "stringex.h"
#include "CHMLib\CHM_lib.h"

class CCHMFileInfo : public CObject
{
public:
	CCHMFileInfo(CString FileName, DWORD Length, DWORD Space, DWORD Start)
	{
		m_FileName=FileName;
		m_Length=Length;
		m_Start=Start;
		m_Space=Space;
	};

	CStringEx	m_FileName;
	DWORD		m_Length;
	DWORD		m_Space;
	DWORD		m_Start;
	CStringEx	m_Data;
};

class CCHMToc : public CObject
{
public:
	CCHMToc(CString Title, CString FileName, int Level)
	{
		m_Title=Title;
		m_FileName=FileName;
		m_Level=Level;
		m_hTreeItem=NULL;
	};

	CStringEx	m_Title;
	CStringEx	m_FileName;
	int			m_Level;
	HTREEITEM	m_hTreeItem;
};

class CCHMFile  
{
public:	
	BOOL Load(CString FileName);
	BOOL Open(CString FileName);
	CCHMFile();
	void Close();
	virtual ~CCHMFile();

	CString GetFileName()
	{
		return m_FileName;
	};

public:
	CString			m_FileName;
	struct chmFile*	m_pCHMFile;
	CObList			m_FileList;
	CObList			m_TOC;
	CStringArray	m_ImageList;

private:
	CSplitPath		m_Split;

public:
	static int EnumListOfFiles(struct chmFile *h,struct chmUnitInfo *ui,void *context);

	BOOL			ResetFileList();
	BOOL			ResetTocList();
	BOOL			AddFileInfo(CString FileName, DWORD Length, DWORD Space, DWORD Start);	
	BOOL			DeleteFiles(CString Dir);

public:
	// Get File from CHM & Store onto Disk using FilePath
	BOOL			ReadListOfFiles(void);
	CCHMFileInfo*	GetHHCFile();
	CCHMFileInfo*	CheckFileExists(CString FileName);
	BOOL			GetFile(CCHMFileInfo *pInfo, CString FilePath);
	BOOL			GetFile(CString FileName, CString FilePath);
	BYTE*			GetFile(CCHMFileInfo *pInfo);
	CString			GetTextFile(CCHMFileInfo *pInfo);
	CString			GetHTMLFile(CString FileName, CString Dir);	
	int				CheckStringArray(CStringArray *pStrings, CString Item, BOOL bNoCase);
	CSplitPath		GetSplit()
	{
		return m_Split;
	};
};

#endif // !defined(AFX_CHMFILE_H__2E720CAC_B39A_438A_B21C_8364ED476456__INCLUDED_)

⌨️ 快捷键说明

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