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

对话框与窗口

开发平台:

Visual C++

  1. // XTPSyntaxEditToolTipCtrl.h: interface for the CXTPSyntaxEditToolTipCtrl class.
  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 SYNTAX EDIT 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(__XTPSYNTAXEDITTOOLTIPCTRL_H__)
  22. #define __XTPSYNTAXEDITTOOLTIPCTRL_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER >= 1000
  25. #pragma once
  26. #endif // _MSC_VER >= 1000
  27. class CXTPSyntaxEditCtrl;
  28. // Internal class
  29. //===========================================================================
  30. // Summary:
  31. //      The CXTPSyntaxEditToolTipCtrl class encapsulates the functionality of
  32. //      a "tip control," a small pop-up window that displays a
  33. //      single line of text describing the hidden text when hovering an
  34. //      item on the report area.
  35. //
  36. //      CXTPSyntaxEditToolTipCtrl provides the functionality to control the
  37. //      the tip text, the size of the tip window itself, and the text
  38. //      font of the tip.
  39. //
  40. //      This class is used by the report control internally.
  41. //
  42. // See also:
  43. //      CXTPSyntaxEditCtrl
  44. //===========================================================================
  45. class _XTP_EXT_CLASS CXTPSyntaxEditToolTipCtrl : public CWnd
  46. {
  47. // Construction
  48. public:
  49. //-----------------------------------------------------------------------
  50. // Summary:
  51. //      Constructs a CXTPSyntaxEditToolTipCtrl object.
  52. // Remarks:
  53. //      You construct a object object in two steps. First, call the constructor
  54. //      object and then call Create, which initializes the window and attaches
  55. //      it to the parent window.
  56. // Example:
  57. //      // Declare a local CXTPSyntaxEditToolTipCtrl object.
  58. //      CXTPSyntaxEditToolTipCtrl wndTip;
  59. //
  60. //      // Declare a dynamic CXTPSyntaxEditToolTipCtrl object.
  61. //      CXTPSyntaxEditToolTipCtrl* pTipWnd = new CXTPSyntaxEditToolTipCtrl;
  62. //
  63. // See also:
  64. //      Create, Activate
  65. //-----------------------------------------------------------------------
  66. CXTPSyntaxEditToolTipCtrl();
  67. //-----------------------------------------------------------------------
  68. // Summary:
  69. //      Destroys a CXTPSyntaxEditToolTipCtrl object, handles cleanup and de-allocation
  70. //-----------------------------------------------------------------------
  71. virtual ~CXTPSyntaxEditToolTipCtrl();
  72. //-----------------------------------------------------------------------
  73. // Summary:
  74. //      Creates smart edit tip window.
  75. // Parameters:
  76. //      pParentWnd : [in] Parent report control window.
  77. // Returns:
  78. //      TRUE if tip window created successfully, FALSE otherwise.
  79. // See also:
  80. //      CXTPSyntaxEditCtrl::ShowCollapsedToolTip
  81. //-----------------------------------------------------------------------
  82. virtual BOOL Create(CXTPSyntaxEditCtrl* pParentWnd);
  83. //-----------------------------------------------------------------------
  84. // Summary:
  85. //      Sets time to display the tip.
  86. // Parameters:
  87. //      nDelay : [in] Display delay value for ToolTip.
  88. // See also:
  89. //      int GetDelay();
  90. //-----------------------------------------------------------------------
  91. void SetDelay(int nDelay);
  92. //-----------------------------------------------------------------------
  93. // Summary:
  94. //      Returns the delay time.
  95. // Returns:
  96. //      Integer value of current delay.
  97. // See also:
  98. //      void SetDelay(int nDelay);
  99. //-----------------------------------------------------------------------
  100. int GetDelay();
  101. //-----------------------------------------------------------------------
  102. // Summary:
  103. //      Hides the ToolTip Window.
  104. //-----------------------------------------------------------------------
  105. void Hide();
  106. //-----------------------------------------------------------------------
  107. // Summary:
  108. //      Activates the tooltip window.
  109. // Parameters:
  110. //      strText : [in] Text to be shown in ToolTip window.
  111. //-----------------------------------------------------------------------
  112. void Activate(const CString& strText);
  113. //-----------------------------------------------------------------------
  114. // Summary:
  115. //      Sets coordinates of the tooltip hover rectangle.
  116. // Parameters:
  117. //      rc : [in] New tooltip hover rectangle in parent window coordinates.
  118. // Remarks:
  119. //      Should be called before activating tooltip window.
  120. // See also:
  121. //      GetHoverRect()
  122. //-----------------------------------------------------------------------
  123. void SetHoverRect(CRect rc);
  124. //{{AFX_VIRTUAL(CXTPSyntaxEditToolTipCtrl)
  125. //}}AFX_VIRTUAL
  126. protected:
  127. int     m_nDelayTime;       // Delay before showing the tooltip in milliseconds.
  128. CXTPSyntaxEditCtrl* m_pParentWnd; // Pointer to the parent report window.
  129. CRect   m_rcHover;          // Hover window coordinates.
  130. CString m_strToolTipText;   // ToolTip text to display.
  131. protected:
  132. //{{AFX_MSG(CXTPSyntaxEditToolTipCtrl)
  133. afx_msg LRESULT OnNcHitTest(CPoint point);
  134. afx_msg void OnPaint();
  135. afx_msg void OnTimer(UINT_PTR nIDEvent);
  136. //}}AFX_MSG
  137. DECLARE_MESSAGE_MAP()
  138. private:
  139. void ReCalcToolTipRect();
  140. BOOL RegisterWindowClass(HINSTANCE hInstance = NULL);
  141. };
  142. /////////////////////////////////////////////////////////////////////////////
  143. AFX_INLINE void CXTPSyntaxEditToolTipCtrl::SetDelay(int nDelay) {
  144. m_nDelayTime = nDelay;
  145. }
  146. AFX_INLINE int CXTPSyntaxEditToolTipCtrl::GetDelay() {
  147. return m_nDelayTime;
  148. }
  149. AFX_INLINE void CXTPSyntaxEditToolTipCtrl::SetHoverRect(CRect rc) {
  150. m_rcHover = rc;
  151. }
  152. /////////////////////////////////////////////////////////////////////////////
  153. //{{AFX_INSERT_LOCATION}}
  154. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  155. #endif // !defined(__XTPSYNTAXEDITTOOLTIPCTRL_H__)