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

对话框与窗口

开发平台:

Visual C++

  1. // XTCaptionPopupWnd.h : interface for the CXTCaptionPopupWnd class.
  2. //
  3. // This file is a part of the XTREME CONTROLS 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. //{{AFX_CODEJOCK_PRIVATE
  21. #if !defined(__XTCAPTIONPOPUPWND_H__)
  22. #define __XTCAPTIONPOPUPWND_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. // --------------------------------------------------------------------
  28. // Summary:
  29. //     CXTCaptionPopupWnd is a CWnd derived class. It is used by
  30. //     the CXTCaption class to display a popup child window similar to
  31. //     Outlook(tm).
  32. // --------------------------------------------------------------------
  33. class _XTP_EXT_CLASS CXTCaptionPopupWnd : public CWnd
  34. {
  35. DECLARE_DYNAMIC(CXTCaptionPopupWnd)
  36. public:
  37. // -------------------------------------------------
  38. // Summary:
  39. //     Constructs a CXTCaptionPopupWnd object
  40. // -------------------------------------------------
  41. CXTCaptionPopupWnd();
  42. // --------------------------------------------------------------------
  43. // Summary:
  44. //     Destroys a CXTCaptionPopupWnd object, handles cleanup and
  45. //     deallocation
  46. // --------------------------------------------------------------------
  47. virtual ~CXTCaptionPopupWnd();
  48. public:
  49. //-----------------------------------------------------------------------
  50. // Summary:
  51. //     This member function is called to create and display the popup
  52. //     window.
  53. // Parameters:
  54. //     rect       - A CRect reference that represents the size of the
  55. //                  popup window.
  56. //     pParentWnd - A CWnd pointer that represents the popup window.
  57. //     pChildWnd  - A CWnd pointer that represents the child to be
  58. //                  displayed when the window is activated.
  59. // Returns:
  60. //     TRUE if successful, otherwise returns FALSE.
  61. //-----------------------------------------------------------------------
  62. virtual BOOL Create(const CRect& rect, CWnd* pParentWnd, CWnd* pChildWnd);
  63. //-----------------------------------------------------------------------
  64. // Summary:
  65. //     Call this member function to recalculate the layout of the
  66. //     caption and child window.
  67. //-----------------------------------------------------------------------
  68. virtual void RecalcLayout();
  69. //-----------------------------------------------------------------------
  70. // Summary:
  71. //     Call this member function to reset the parent of the child
  72. //     window back to its default.
  73. // Returns:
  74. //     Returns TRUE if successful, otherwise FALSE.
  75. //-----------------------------------------------------------------------
  76. virtual BOOL ResetParent();
  77. //-----------------------------------------------------------------------
  78. // Summary:
  79. //     Call this member function to send a cancel message that will
  80. //     cause the popup to close.
  81. // Returns:
  82. //     Returns TRUE if successful, otherwise FALSE.
  83. //-----------------------------------------------------------------------
  84. virtual BOOL SendCancelMessage();
  85. protected:
  86. //-----------------------------------------------------------------------
  87. // Summary:
  88. //     Call this member function to register the window class for
  89. //     the popup window.
  90. // Returns:
  91. //     Returns TRUE if successful, otherwise FALSE.
  92. //-----------------------------------------------------------------------
  93. BOOL RegisterWindowClass();
  94. protected:
  95. //{{AFX_CODEJOCK_PRIVATE
  96. DECLARE_MESSAGE_MAP()
  97. //{{AFX_MSG(CXTCaptionPopupWnd)
  98. afx_msg void OnDestroy();
  99. afx_msg void OnCaptButton();
  100. afx_msg void OnPaint();
  101. afx_msg void OnTimer(UINT_PTR nIDEvent);
  102. //}}AFX_MSG
  103. //}}AFX_CODEJOCK_PRIVATE
  104. private:
  105. BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
  106. protected:
  107. CWnd*            m_pParentWnd;    // A CWnd pointer that represents the parent window.
  108. CWnd*            m_pChildWnd;     // A CWnd pointer that represents the child displayed in the popup.
  109. CWnd*            m_pChildParent;  // A CWnd pointer that represents the parent of the child window.
  110. CXTCaption       m_Caption;       // Caption that is displayed when the window is active.
  111. CXTCaptionButton m_CaptionButton; // Close button associated with the caption.
  112. CXTIconHandle    m_hIconOn;       // Handle to a normal button icon.
  113. CXTIconHandle    m_hIconOff;      // Handle to a pressed button icon.
  114. };
  115. //////////////////////////////////////////////////////////////////////
  116. AFX_INLINE BOOL CXTCaptionPopupWnd::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext) {
  117. return CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
  118. }
  119. #endif // #if !defined(__XTCAPTIONPOPUPWND_H__)