UIApp.h
上传用户:yatsl7111
上传日期:2007-01-08
资源大小:1433k
文件大小:4k
源码类别:

图形图象

开发平台:

Visual C++

  1. //*******************************************************************************
  2. // COPYRIGHT NOTES
  3. // ---------------
  4. // You may use this source code, compile or redistribute it as part of your application 
  5. // for free. You cannot redistribute it as a part of a software development 
  6. // library without the agreement of the author. If the sources are 
  7. // distributed along with the application, you should leave the original 
  8. // copyright notes in the source code without any changes.
  9. // This code can be used WITHOUT ANY WARRANTIES at your own risk.
  10. // 
  11. // For the latest updates to this code, check this site:
  12. // http://www.masmex.com 
  13. // after Sept 2000
  14. // 
  15. // Copyright(C) 2000 Philip Oldaker <email: philip@masmex.com>
  16. //*******************************************************************************
  17. #ifndef __UIAPP_H__
  18. #define __UIAPP_H__
  19. #ifndef __AFXWIN_H__
  20. #error include 'stdafx.h' before including this file for PCH
  21. #endif
  22. class CTRL_EXT_CLASS CUIApp : public CWinApp
  23. {
  24. DECLARE_DYNAMIC(CUIApp)
  25. public:
  26. CUIApp();
  27. void SetStatusBarText(UINT nPaneID,LPCTSTR Text,UINT nIconID=0);
  28. void SetStatusBarText(UINT nPaneID,LPCTSTR Text,CView *pView,UINT nIconID=0);
  29. void SetStatusBarText(UINT nPaneID,UINT nResID,UINT nIconID=0);
  30. void SetStatusBarText(LPCTSTR Text);
  31. void SetStatusBarIcon(UINT nPaneID,UINT nIconID,bool bAdd);
  32. void SetStatusBarIdleMessage();
  33. CString GetRegAppKey();
  34. static bool COMMessage(HRESULT hr,UINT nID);
  35. static void ErrorMessage(UINT nID,DWORD dwError=0);
  36. static bool COMMessage(HRESULT hr,LPCTSTR pszMess=NULL);
  37. static void ErrorMessage(LPCTSTR pszMess=NULL,DWORD dwError=0);
  38. // Overrides
  39. // ClassWizard generated virtual function overrides
  40. //{{AFX_VIRTUAL(CUIApp)
  41. public:
  42. virtual BOOL InitInstance();
  43. virtual int ExitInstance();
  44. //}}AFX_VIRTUAL
  45. // CMultiDocTemplate* m_pWebSitesDocTemplate;
  46. void ChangeProfile(LPCTSTR szRegistryKey,LPCTSTR szProfileName);
  47. void RestoreProfile();
  48. // Implementation
  49. CFrameWnd *GetMainFrame(CWnd *pWnd);
  50. CView *GetView(CRuntimeClass *pClass);
  51. CDocTemplate *GetFirstDocTemplate();
  52. CDocument *GetDocument();
  53. protected:
  54. bool RegisterMyClass();
  55. BOOL FirstInstance();
  56. //{{AFX_MSG(CUIApp)
  57. // NOTE - the ClassWizard will add and remove member functions here.
  58. //    DO NOT EDIT what you see in these blocks of generated code !
  59. //}}AFX_MSG
  60. DECLARE_MESSAGE_MAP()
  61. private:
  62. CString m_strOldProfileName;
  63. CString m_strOldRegistryKey;
  64. CString m_sMyClassName;
  65. UINT m_IDMyIcon;
  66. bool m_bMyClassRegistered;
  67. public:
  68. void SetMyClass(const CString &sMyClassName,UINT nIconID);
  69. LPCTSTR GetMyClass() const;
  70. bool IsMyClassRegistered() const;
  71. };
  72. inline bool CUIApp::IsMyClassRegistered() const
  73. {
  74. return m_bMyClassRegistered;
  75. }
  76. inline void CUIApp::SetMyClass(const CString &sMyClassName,UINT nIconID)
  77. {
  78. m_sMyClassName = sMyClassName;
  79. m_IDMyIcon = nIconID;
  80. }
  81. inline LPCTSTR CUIApp::GetMyClass() const
  82. {
  83. return m_sMyClassName;
  84. }
  85. /////////////////////////////////////////////////////////////////////////////
  86. class CTRL_EXT_CLASS CAppReg 
  87. {
  88. public:
  89. CAppReg(CWinApp *pApp,LPCTSTR szRegistryKey,LPCTSTR szProfileName);
  90. ~CAppReg();
  91. CString GetProfileString( LPCTSTR lpszSection, LPCTSTR lpszEntry, LPCTSTR lpszDefault = NULL );
  92. BOOL WriteProfileString( LPCTSTR lpszSection, LPCTSTR lpszEntry, LPCTSTR lpszValue );
  93. private:
  94. CUIApp *m_pApp;
  95. };
  96. inline BOOL CAppReg::WriteProfileString( LPCTSTR lpszSection, LPCTSTR lpszEntry, LPCTSTR lpszValue )
  97. {
  98. return m_pApp->WriteProfileString(lpszSection,lpszEntry,lpszValue);
  99. }
  100. inline CString CAppReg::GetProfileString( LPCTSTR lpszSection, LPCTSTR lpszEntry, LPCTSTR lpszDefault)
  101. {
  102. return m_pApp->GetProfileString(lpszSection,lpszEntry,lpszDefault);
  103. }
  104. #endif //__UIAPP_H__