hexviewDoc.h
上传用户:ycdyang2
上传日期:2007-01-07
资源大小:126k
文件大小:2k
源码类别:

编辑器/阅读器

开发平台:

Visual C++

  1. /* ---------------------------------------------------------------------------
  2.    This code can be used as you wish but without warranties as to performance 
  3.    of merchantability or any other warranties whether expressed or implied.
  4.    
  5.  Written by Mike Funduc, Funduc Software Inc. 8/1/96
  6.  To download the code and more useful utilities (including Search and
  7.  Replace for Windows 95/NT, 3.1x) go to: http://www.funduc.com
  8. ----------------------------------------------------------------------------*/
  9. // hexviewDoc.h : interface of the CHexviewDoc class
  10. //
  11. /////////////////////////////////////////////////////////////////////////////
  12. class CHexviewDoc : public CDocument
  13. {
  14. protected: // create from serialization only
  15. CHexviewDoc();
  16. DECLARE_DYNCREATE(CHexviewDoc)
  17. // Attributes
  18. private:
  19.  CString *m_csFileName;
  20.  HANDLE m_hFile;
  21.  HANDLE m_hFileMapping;
  22.  BYTE *m_lpImage;
  23.  int m_iCurrentPointer, m_iFileSize,
  24.  m_iBlockSize;
  25. // CView *m_AssociatedView;
  26. // CFrameWnd *m_PriorityFrame;
  27. public:
  28. BOOL GetPrevBlock(int &iCurrentOffset);
  29. BOOL GetNextBlock(int &iCurrentOffset);
  30.  char szStatusMessage[300];
  31.  long m_lStartOffset, m_lEndOffset;
  32. // Operations
  33. public:
  34. // helper functions
  35. //BYTE *AdjustPointerRelative(int iOffset);
  36. BYTE *AdjustPointerAbsolute(int iPosition);
  37. //BOOL RetrieveBytesAtCurrentPosition(BYTE *lpTarget, int iLength);
  38. //BOOL RetrieveBytesAtAbsolutePosition(BYTE *lpPosition, BYTE *lpTarget, int iLength);
  39. //inline int GetCurrentPosition() { return m_iCurrentPointer; };
  40. //void ActivateTheRightFrame();
  41. int TotalFileLength() {return m_iFileSize;};
  42. int BlockLength(int iCurrentOffset); 
  43. // Attributes
  44. public:
  45. // Operations
  46. public:
  47. // Overrides
  48. // ClassWizard generated virtual function overrides
  49. //{{AFX_VIRTUAL(CHexviewDoc)
  50. public:
  51. virtual BOOL OnNewDocument();
  52. virtual void Serialize(CArchive& ar);
  53. virtual BOOL OnOpenDocument(LPCTSTR lpszFileName);
  54. virtual void OnCloseDocument();
  55. //}}AFX_VIRTUAL
  56. // Implementation
  57. public:
  58. virtual ~CHexviewDoc();
  59. #ifdef _DEBUG
  60. virtual void AssertValid() const;
  61. virtual void Dump(CDumpContext& dc) const;
  62. #endif
  63. protected:
  64. // Generated message map functions
  65. protected:
  66. //{{AFX_MSG(CHexviewDoc)
  67. // NOTE - the ClassWizard will add and remove member functions here.
  68. //    DO NOT EDIT what you see in these blocks of generated code !
  69. //}}AFX_MSG
  70. DECLARE_MESSAGE_MAP()
  71. };
  72. /////////////////////////////////////////////////////////////////////////////