MSDIThread.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:3k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // MSDIThread.h
  2. //
  3. // This file is a part of the XTREME TOOLKIT PRO MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. /*********************************************************
  21. * Multithreaded SDI Application
  22. * Version: 1.4
  23. * Date: January 3, 2002
  24. * Autor: Michal Mecinski
  25. * E-mail: mimec@mimec.w.pl
  26. * WWW: http://www.mimec.w.pl
  27. *
  28. * You may freely use and modify this code, but don't remove
  29. * this copyright note.
  30. *
  31. * There is no warranty of any kind, express or implied, for this class.
  32. * The author does not take the responsibility for any damage
  33. * resulting from the use of it.
  34. *
  35. * Let me know if you find this code useful, and
  36. * send me any modifications and bug reports.
  37. *
  38. * Copyright (C) 2002-03 by Michal Mecinski
  39. *********************************************************/
  40. #pragma once
  41. #include <afxmt.h>
  42. class CMSDIDocManager;
  43. class CWindowDlg;
  44. class CMSDIThread : public CWinThread
  45. {
  46. DECLARE_DYNCREATE(CMSDIThread)
  47. protected:
  48. CMSDIThread();
  49. virtual ~CMSDIThread();
  50. // Attributes
  51. public:
  52. // Operations
  53. public:
  54. void SetDocumentTitle(LPCTSTR lpszTitle);
  55. // Overrides
  56. //{{AFX_VIRTUAL(CMSDIThread)
  57. public:
  58. virtual BOOL InitInstance();
  59. virtual int ExitInstance();
  60. //}}AFX_VIRTUAL
  61. // Implementation
  62. protected:
  63. void FillWindowList();
  64. void UpdateWindowMenu();
  65. //{{AFX_MSG(CMSDIThread)
  66. //}}AFX_MSG
  67. afx_msg void OnUpdateNotify(WPARAM nCode, LPARAM lParam);
  68. afx_msg void OnWindowActivate(UINT uCmdID);
  69. afx_msg void OnWindowSelect();
  70. DECLARE_MESSAGE_MAP()
  71. public:
  72. // initial parameters
  73. CString m_strFileOpen;
  74. int m_nDocCnt;
  75. // permission to terminate
  76. CEvent m_eventTerminate;
  77. // own document manager
  78. CDocManager* m_pDocManager;
  79. protected:
  80. // window list dialog box
  81. CWindowDlg* m_pWndDlg;
  82. public:
  83. // SHARED DATA
  84. // only modify and read from other threads within Lock/Unlock
  85. // document title
  86. CString m_strTitle;
  87. };
  88. class CControlWindowList : public CXTPControlButton
  89. {
  90. protected:
  91. virtual void OnCalcDynamicSize(DWORD dwMode);
  92. virtual BOOL IsCustomizeDragOverAvail(CXTPCommandBar* pCommandBar, CPoint point, DROPEFFECT& dropEffect);
  93. private:
  94. DECLARE_XTP_CONTROL(CControlWindowList)
  95. };