|
|
1.1 root 1: // fileview.h : Declares the class interfaces for the application.
2: // Fileview is a program which can display the contents of
3: // a text-only file regardless of its size.
4: //
5: // This is a part of the Microsoft Foundation Classes C++ library.
6: // Copyright (C) 1992 Microsoft Corporation
7: // All rights reserved.
8: //
9: // This source code is only intended as a supplement to the
10: // Microsoft Foundation Classes Reference and Microsoft
11: // QuickHelp documentation provided with the library.
12: // See these sources for detailed information regarding the
13: // Microsoft Foundation Classes product.
14:
15: #ifndef __FILEVIEW_H__
16: #define __FILEVIEW_H__
17:
18: #include <afxwin.h>
19: #include "resource.h"
20:
21: /////////////////////////////////////////////////////////////////////////////
22: // Derived class to handle large line files
23: class CLineFile : public CStdioFile
24: {
25: DECLARE_DYNAMIC(CLineFile)
26: public:
27: // Constructors
28: CLineFile();
29: CLineFile(const char* pszFileName, UINT nOpenFlags);
30:
31: // Overridables
32:
33: virtual LONG NextLine(char FAR* lpsz, UINT nMax);
34: virtual LONG BackLines(char FAR* lpsz, UINT nMax, UINT nLines);
35: virtual LONG LineNear(char FAR* lpsz, UINT nMax, LONG lOffset);
36: virtual LONG SetBegin(LONG lnewBegin);
37: LONG GetBegin() { return m_lBeginLine; };
38:
39:
40: // Implementation
41: virtual ~CLineFile();
42:
43: private:
44: LONG m_lBeginLine; // 0 for beginning of file
45: // -1 for don't know
46: // offset of beginning of a line
47: };
48:
49:
50: // CMainWindow:
51: // See fileview.cpp for the code to the member functions and the
52: // message map.
53: //
54:
55: class CMainWindow : public CFrameWnd
56: {
57: public:
58: CMainWindow();
59: ~CMainWindow();
60:
61: afx_msg int OnCreate(LPCREATESTRUCT lpcs);
62: afx_msg void OnPaint();
63: afx_msg void OnAbout();
64: afx_msg void OnOpen();
65: afx_msg void OnExit();
66: afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
67: afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
68: afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
69:
70: DECLARE_MESSAGE_MAP()
71:
72: private:
73: CLineFile* m_pMyFile;
74: short m_nVScrollPos;
75: short m_nHScrollPos;
76:
77:
78: LONG m_lTopLine;
79: LONG m_lFileSize;
80:
81: UINT m_nCxChar;
82: UINT m_nCyChar;
83: UINT m_nLinesPainted;
84:
85: protected:
86: BOOL FileDlg(BOOL bOpen, int nMaxFile, LPSTR szFile,
87: int nMaxFileTitle, LPSTR szFileTitle);
88:
89: };
90:
91: /////////////////////////////////////////////////////////////////////////////
92:
93: // CTheApp:
94: // See fileview.cpp for the code to the InitInstance member function.
95: //
96:
97: class CTheApp : public CWinApp
98: {
99: public:
100: BOOL InitInstance();
101: };
102:
103: /////////////////////////////////////////////////////////////////////////////
104:
105: #define SCROLLMAX 1000
106:
107: #endif // __FILEVIEW_H__
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.