|
|
1.1 ! root 1: // multipad.h : Defines the class interfaces for the frame and child. ! 2: // ! 3: // This is a part of the Microsoft Foundation Classes C++ library. ! 4: // Copyright (C) 1992 Microsoft Corporation ! 5: // All rights reserved. ! 6: // ! 7: // This source code is only intended as a supplement to the ! 8: // Microsoft Foundation Classes Reference and Microsoft ! 9: // QuickHelp documentation provided with the library. ! 10: // See these sources for detailed information regarding the ! 11: // Microsoft Foundation Classes product. ! 12: ! 13: #ifndef __MULTIPAD_H__ ! 14: #define __MULTIPAD_H__ ! 15: ! 16: ///////////////////////////////////////////////////////////////////////////// ! 17: ! 18: #define EXPORT _export ! 19: ! 20: #include <afxwin.h> ! 21: #include <afxdlgs.h> ! 22: #include "bar.h" ! 23: #include "resource.h" ! 24: ! 25: ///////////////////////////////////////////////////////////////////////////// ! 26: ! 27: CDC* GetPrinterDC(); ! 28: class CMPChild; ! 29: ! 30: class CMultiPad : public CWinApp ! 31: { ! 32: public: ! 33: CMultiPad(const char* pAppName) : CWinApp(pAppName) ! 34: { } ! 35: BOOL InitInstance(); ! 36: int ExitInstance(); ! 37: }; ! 38: ! 39: class CMPFrame : public CMDIFrameWnd ! 40: { ! 41: protected: ! 42: class CMPChild* m_pActiveChild; ! 43: ! 44: public: ! 45: CMPFrame() {}; ! 46: CMPFrame(const char* szTitle); ! 47: ! 48: BOOL QueryCloseAllChildren(); ! 49: void CloseAllChildren(); ! 50: void GetInitializationData(); ! 51: CMPChild* AlreadyOpen(char* szFile); ! 52: void ReadFile(const char* szFile); ! 53: ! 54: static CMPFrame* GetMDIFrameWnd() ! 55: { return (CMPFrame*)(AfxGetApp()->m_pMainWnd); } ! 56: ! 57: static CMPChild* GetActiveChild() ! 58: { return ((CMPFrame*)(AfxGetApp()->m_pMainWnd))->m_pActiveChild; } ! 59: static void SetActiveChild(CMPChild* pActiveChild) ! 60: { GetMDIFrameWnd()->m_pActiveChild = pActiveChild; } ! 61: ! 62: protected: ! 63: void ReadFile(); ! 64: ! 65: afx_msg void OnInitMenu(CMenu* pMenu); ! 66: afx_msg void OnClose(); ! 67: afx_msg BOOL OnQueryEndSession(); ! 68: afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); ! 69: afx_msg void OnSize(UINT nType, int cx, int cy); ! 70: afx_msg void OnMenuSelect(UINT nItemID, UINT nFlags, HMENU hSysMenu); ! 71: ! 72: afx_msg void CmdFileNew(); ! 73: afx_msg void CmdFileOpen(); ! 74: afx_msg void CmdFileExit(); ! 75: afx_msg void CmdToggleMenu(); ! 76: afx_msg void CmdFileMRU(); ! 77: ! 78: afx_msg void CmdMDITile(); ! 79: afx_msg void CmdMDICascade(); ! 80: afx_msg void CmdMDIIconArrange(); ! 81: afx_msg void CmdWinCloseAll(); ! 82: ! 83: afx_msg void CmdHelpAbout(); ! 84: ! 85: afx_msg void CmdFind(); ! 86: afx_msg void CmdFindPrev(); ! 87: afx_msg void CmdFindNext(); ! 88: ! 89: DECLARE_MESSAGE_MAP() ! 90: ! 91: BOOL m_bShortMenu; ! 92: CStatBar m_statBar; ! 93: ! 94: // Search helpers ! 95: afx_msg LONG CmdFindHelper(UINT wParam, LONG lParam); // for m_nMsgFind ! 96: static UINT m_nMsgFind; ! 97: static CString m_strFind; ! 98: static CFindReplaceDialog* m_pFindReplace; ! 99: }; ! 100: ! 101: class CMPChild : public CMDIChildWnd ! 102: { ! 103: public: ! 104: BOOL m_bChanged; ! 105: BOOL m_bUntitled; ! 106: BOOL m_bWordWrap; ! 107: CEdit m_edit; ! 108: CFont m_font; ! 109: ! 110: CMPChild() : m_font(), m_edit() ! 111: { } ! 112: CMPChild(char* szName); ! 113: ! 114: BOOL QueryCloseChild(); ! 115: void SaveFile(); ! 116: BOOL ChangeFile(); ! 117: void PrintFile(); ! 118: ! 119: int LoadFile(char* szFile); ! 120: ! 121: void SetWrap(BOOL bWrap); ! 122: ! 123: // Find engine stuff ! 124: enum { searchUp = -1, searchDown = +1}; ! 125: BOOL FindText(LPCSTR szSearch, ! 126: int nDirection = searchDown, ! 127: BOOL bMatchCase = FALSE, ! 128: BOOL bWholeWord = FALSE); // does the actual search ! 129: ! 130: protected: ! 131: afx_msg int OnCreate(LPCREATESTRUCT); ! 132: afx_msg void OnMDIActivate(BOOL bActivate, CWnd* pActivate, CWnd* pDeactivate); ! 133: afx_msg BOOL OnQueryEndSession(); ! 134: afx_msg void OnClose(); ! 135: afx_msg void OnSize(UINT nType, int cx, int cy); ! 136: afx_msg void OnSetFocus(CWnd* pWnd); ! 137: afx_msg void OnEditChange(); ! 138: afx_msg void OnEditErrSpace(); ! 139: afx_msg void OnMenuSelect(UINT nItemID, UINT nFlags, HMENU hSysMenu); ! 140: ! 141: virtual void PostNcDestroy(); ! 142: ! 143: // Command handlers ! 144: afx_msg void CmdSetFont(); ! 145: afx_msg void CmdFileSave(); ! 146: afx_msg void CmdFileSaveAs(); ! 147: afx_msg void CmdUndo(); ! 148: afx_msg void CmdCut(); ! 149: afx_msg void CmdCopy(); ! 150: afx_msg void CmdPaste(); ! 151: afx_msg void CmdClear(); ! 152: afx_msg void CmdSelectAll(); ! 153: afx_msg void CmdWordWrap(); ! 154: ! 155: DECLARE_MESSAGE_MAP() ! 156: }; ! 157: ! 158: class CPrinter ! 159: { ! 160: private: ! 161: HWND hwndPDlg; // Handle to the cancel print dialog ! 162: HANDLE hInitData; // handle to initialization data ! 163: ! 164: class CPrintCanDlg* pdlg; ! 165: UINT fError; ! 166: ! 167: public: ! 168: BOOL fAbort; // TRUE if the user has aborted the print job ! 169: CPrintDialog printDlg; ! 170: CDC* pdc; ! 171: ! 172: char szTitle [32]; // Global pointer to job title ! 173: ! 174: CPrinter() : printDlg(FALSE) {}; ! 175: ! 176: BOOL StartJob(char* szDocName); ! 177: void EndJob(); ! 178: ! 179: friend BOOL FAR PASCAL EXPORT AbortProc(HDC, int); ! 180: }; ! 181: ! 182: short MPError(int bFlags, int id, ...); ! 183: ! 184: ///////////////////////////////////////////////////////////////////////////// ! 185: ! 186: #endif // __MULTIPAD_H__ ! 187:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.