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

对话框与窗口

开发平台:

Visual C++

  1. // ToolTipContextView.h : interface of the CToolTipContextView 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 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. #if !defined(AFX_TOOLTIPCONTEXTVIEW_H__FFC01DB7_7092_4123_9506_ACD3DCFF8E8F__INCLUDED_)
  21. #define AFX_TOOLTIPCONTEXTVIEW_H__FFC01DB7_7092_4123_9506_ACD3DCFF8E8F__INCLUDED_
  22. #if _MSC_VER > 1000
  23. #pragma once
  24. #endif // _MSC_VER > 1000
  25. class CCircle
  26. {
  27. public:
  28. CCircle(CPoint ptCenter, int nRadius, COLORREF clr)
  29. {
  30. m_ptCenter = ptCenter;
  31. m_nRadius = nRadius;
  32. m_clr = clr;
  33. }
  34. public:
  35. BOOL HitTest(CPoint pt)
  36. {
  37. CPoint Diff = m_ptCenter - pt;
  38. return ((pow((double)Diff.x, 2) + pow((double)Diff.y, 2)) <= pow((double)m_nRadius, 2));
  39. }
  40. void Draw(CDC* pDC)
  41. {
  42. CXTPBrushDC brush(*pDC, m_clr);
  43. CXTPPenDC pen(*pDC, RGB(128, 128, 128));
  44. pDC->Ellipse(GetRect());
  45. }
  46. CRect GetRect() const
  47. {
  48. return CRect(m_ptCenter.x - m_nRadius, m_ptCenter.y - m_nRadius, m_ptCenter.x + m_nRadius, m_ptCenter.y + m_nRadius);
  49. }
  50. CString GetTooltip();
  51. protected:
  52. CPoint m_ptCenter;
  53. int m_nRadius;
  54. COLORREF m_clr;
  55. };
  56. class CToolTipContextView : public CView
  57. {
  58. protected: // create from serialization only
  59. CToolTipContextView();
  60. DECLARE_DYNCREATE(CToolTipContextView)
  61. // Attributes
  62. public:
  63. CToolTipContextDoc* GetDocument();
  64. CXTPToolTipContext* m_pTooltipContext;
  65. // Operations
  66. public:
  67. // Overrides
  68. // ClassWizard generated virtual function overrides
  69. //{{AFX_VIRTUAL(CToolTipContextView)
  70. public:
  71. virtual void OnDraw(CDC* pDC);  // overridden to draw this view
  72. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  73. virtual void OnInitialUpdate();
  74. virtual BOOL PreTranslateMessage(MSG* pMsg);
  75. protected:
  76. virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
  77. virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
  78. virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
  79. //}}AFX_VIRTUAL
  80. // Implementation
  81. public:
  82. virtual ~CToolTipContextView();
  83. #ifdef _DEBUG
  84. virtual void AssertValid() const;
  85. virtual void Dump(CDumpContext& dc) const;
  86. #endif
  87. protected:
  88. CArray<CCircle*, CCircle*> m_arrCircles;
  89. CCircle* HitTest(const CPoint& Point) const;
  90. INT_PTR OnToolHitTest(CPoint point, TOOLINFO* pTI) const;
  91. // Generated message map functions
  92. protected:
  93. //{{AFX_MSG(CToolTipContextView)
  94. afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
  95. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  96. afx_msg void OnPaint();
  97. //}}AFX_MSG
  98. DECLARE_MESSAGE_MAP()
  99. };
  100. #ifndef _DEBUG  // debug version in ToolTipContextView.cpp
  101. inline CToolTipContextDoc* CToolTipContextView::GetDocument()
  102.    { return (CToolTipContextDoc*)m_pDocument; }
  103. #endif
  104. /////////////////////////////////////////////////////////////////////////////
  105. //{{AFX_INSERT_LOCATION}}
  106. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  107. #endif // !defined(AFX_TOOLTIPCONTEXTVIEW_H__FFC01DB7_7092_4123_9506_ACD3DCFF8E8F__INCLUDED_)