home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / mfc / ole / wordpad / wordpad.h < prev    next >
C/C++ Source or Header  |  1998-03-26  |  4KB  |  136 lines

  1. // wordpad.h : main header file for the WORDPAD application
  2. //
  3. // This is a part of the Microsoft Foundation Classes C++ library.
  4. // Copyright (C) 1992-1998 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 related
  9. // electronic documentation provided with the library.
  10. // See these sources for detailed information regarding the
  11. // Microsoft Foundation Classes product.
  12.  
  13. #ifndef __AFXWIN_H__
  14.     #error include 'stdafx.h' before including this file for PCH
  15. #endif
  16.  
  17. #include "resource.h"       // main symbols
  18. #include "splash.h"
  19. #include "options.h"
  20. #include "afxtempl.h"
  21.  
  22. #define WPM_BARSTATE WM_USER
  23.  
  24. /////////////////////////////////////////////////////////////////////////////
  25. // CWordPadApp:
  26. // See wordpad.cpp for the implementation of this class
  27. //
  28.  
  29. class CWordPadCommandLineInfo : public CCommandLineInfo
  30. {
  31. public:
  32.     CWordPadCommandLineInfo() {m_bForceTextMode = FALSE;}
  33.     BOOL m_bForceTextMode;
  34.     virtual void ParseParam(const char* pszParam,BOOL bFlag,BOOL bLast);
  35. };
  36.  
  37. class CWordPadApp : public CWinApp
  38. {
  39. public:
  40.     CWordPadApp();
  41.     ~CWordPadApp();
  42.  
  43. //Attributes
  44.     CWordPadCommandLineInfo cmdInfo;
  45.     CDC m_dcScreen;
  46.     LOGFONT m_lf;
  47.     int m_nDefFont;
  48.     static int m_nOpenMsg;
  49.     static int m_nPrinterChangedMsg;
  50.     CRect m_rectPageMargin;
  51.     CRect m_rectInitialFrame;
  52.     BOOL m_bMaximized;
  53.     BOOL m_bPromptForType;
  54.     BOOL m_bWin4;
  55. #ifndef _UNICODE
  56.     BOOL m_bWin31;
  57. #endif
  58.     BOOL m_bLargeIcons;
  59.     BOOL m_bForceTextMode;
  60.     BOOL m_bWordSel;
  61.     BOOL m_bForceOEM;
  62.     int m_nFilterIndex;
  63.     int m_nNewDocType;
  64.     CDocOptions m_optionsText;
  65.     CDocOptions m_optionsRTF;
  66.     CDocOptions m_optionsWord; //wrap to ruler
  67.     CDocOptions m_optionsWrite; //wrap to ruler
  68.     CDocOptions m_optionsIP;    //wrap to ruler
  69.     CDocOptions m_optionsNull;
  70.     CList<HWND, HWND> m_listPrinterNotify;
  71.  
  72.     BOOL IsDocOpen(LPCTSTR lpszFileName);
  73.  
  74. // Get
  75.     int GetUnits() {return m_nUnits;}
  76.     int GetTPU() { return GetTPU(m_nUnits);}
  77.     int GetTPU(int n) { return m_units[n].m_nTPU;}
  78.     LPCTSTR GetAbbrev() { return m_units[m_nUnits].m_strAbbrev;}
  79.     LPCTSTR GetAbbrev(int n) { return m_units[n].m_strAbbrev;}
  80.     const CUnit& GetUnit() {return m_units[m_nUnits];}
  81.     CDockState& GetDockState(int nDocType, BOOL bPrimary = TRUE);
  82.     CDocOptions& GetDocOptions(int nDocType);
  83.  
  84. // Set
  85.     void SetUnits(int n)
  86.     { ASSERT(n>=0 && n <m_nPrimaryNumUnits); m_nUnits = n; }
  87.  
  88. // Operations
  89.     void RegisterFormats();
  90.     static BOOL CALLBACK StaticEnumProc(HWND hWnd, LPARAM lParam);
  91.     void UpdateRegistry();
  92.     void NotifyPrinterChanged(BOOL bUpdatePrinterSelection = FALSE);
  93.     BOOL PromptForFileName(CString& fileName, UINT nIDSTitle, DWORD dwFlags,
  94.         BOOL bOpenFileDialog, int* pType = NULL);
  95.  
  96.     BOOL ParseMeasurement(TCHAR* buf, int& lVal);
  97.     void PrintTwips(TCHAR* buf, int nValue, int nDecimal);
  98.     void SaveOptions();
  99.     void LoadOptions();
  100.     void LoadAbbrevStrings();
  101.     HGLOBAL CreateDevNames();
  102.  
  103. // Overrides
  104.     BOOL IsIdleMessage(MSG* pMsg);
  105.     // ClassWizard generated virtual function overrides
  106.     //{{AFX_VIRTUAL(CWordPadApp)
  107.     public:
  108.     virtual BOOL InitInstance();
  109.     virtual int ExitInstance();
  110.     virtual BOOL OnDDECommand(LPTSTR lpszCommand);
  111.     virtual void WinHelp(DWORD dwData, UINT nCmd = HELP_CONTEXT);
  112.     virtual BOOL PreTranslateMessage(MSG* pMsg);
  113.     //}}AFX_VIRTUAL
  114.  
  115. // Implementation
  116.     COleTemplateServer m_server;
  117.         // Server object for document creation
  118.  
  119.     //{{AFX_MSG(CWordPadApp)
  120.     afx_msg void OnAppAbout();
  121.     afx_msg void OnFileNew();
  122.     afx_msg void OnFileOpen();
  123.     //}}AFX_MSG
  124.     DECLARE_MESSAGE_MAP()
  125. private:
  126.     int m_nUnits;
  127.     static const int m_nPrimaryNumUnits;
  128.     static const int m_nNumUnits;
  129.     static CUnit m_units[7];
  130. };
  131.  
  132. /////////////////////////////////////////////////////////////////////////////
  133.  
  134. extern CWordPadApp theApp;
  135. //inline CWordPadApp* GetWordPadApp() {return (CWordPadApp*)AfxGetApp();}
  136.