HyperLink.h
上传用户:lj3531212
上传日期:2007-06-18
资源大小:346k
文件大小:3k
源码类别:

绘图程序

开发平台:

Visual C++

  1. //
  2. // Use this Class for my FigureOperate application,I consent the author's requirement.
  3. // ----- Botao 
  4. // ----- 2002.09.27
  5. // HyperLink.h : header file
  6. //
  7. //
  8. // HyperLink static control. Will open the default browser with the given URL
  9. // when the user clicks on the link.
  10. //
  11. // Copyright Chris Maunder, 1997
  12. // Feel free to use and distribute. May not be sold for profit. 
  13. #if !defined(AFX_HYPERLINK_H__D1625061_574B_11D1_ABBA_00A0243D1382__INCLUDED_)
  14. #define AFX_HYPERLINK_H__D1625061_574B_11D1_ABBA_00A0243D1382__INCLUDED_
  15. #if _MSC_VER >= 1000
  16. #pragma once
  17. #endif // _MSC_VER >= 1000
  18. /////////////////////////////////////////////////////////////////////////////
  19. // CHyperLink window
  20. class CHyperLink : public CStatic
  21. {
  22. // Construction/destruction
  23. public:
  24.     CHyperLink();
  25.     virtual ~CHyperLink();
  26. // Attributes
  27. public:
  28. // Operations
  29. public:
  30.     void SetURL(CString strURL);
  31.     CString GetURL() const;
  32.     void SetColours(COLORREF crLinkColour, COLORREF crVisitedColour, 
  33.                     COLORREF crHoverColour = -1);
  34.     COLORREF GetLinkColour() const;
  35.     COLORREF GetVisitedColour() const;
  36.     COLORREF GetHoverColour() const;
  37.     void SetVisited(BOOL bVisited = TRUE);
  38.     BOOL GetVisited() const;
  39.     void SetLinkCursor(HCURSOR hCursor);
  40.     HCURSOR GetLinkCursor() const;
  41.     void SetUnderline(BOOL bUnderline = TRUE);
  42.     BOOL GetUnderline() const;
  43.     void SetAutoSize(BOOL bAutoSize = TRUE);
  44.     BOOL GetAutoSize() const;
  45.     static HINSTANCE GotoURL(LPCTSTR url, int showcmd);
  46. // Overrides
  47.     // ClassWizard generated virtual function overrides
  48.     //{{AFX_VIRTUAL(CHyperLink)
  49.     public:
  50.     virtual BOOL PreTranslateMessage(MSG* pMsg);
  51.     protected:
  52.     virtual void PreSubclassWindow();
  53.     //}}AFX_VIRTUAL
  54. // Implementation
  55. protected:
  56.     void ReportError(int nError);
  57.     static LONG GetRegKey(HKEY key, LPCTSTR subkey, LPTSTR retdata);
  58.     void PositionWindow();
  59.     void SetDefaultCursor();
  60. // Protected attributes
  61. protected:
  62.     COLORREF m_crLinkColour, m_crVisitedColour;     // Hyperlink colours
  63.     COLORREF m_crHoverColour;                       // Hover colour
  64.     BOOL     m_bOverControl;                        // cursor over control?
  65.     BOOL     m_bVisited;                            // Has it been visited?
  66.     BOOL     m_bUnderline;                          // underline hyperlink?
  67.     BOOL     m_bAdjustToFit;                        // Adjust window size to fit text?
  68.     CString  m_strURL;                              // hyperlink URL
  69.     CFont    m_Font;                                // Underline font if necessary
  70.     HCURSOR  m_hLinkCursor;                         // Cursor for hyperlink
  71.     CToolTipCtrl m_ToolTip;                         // The tooltip
  72.     // Generated message map functions
  73. protected:
  74.     //{{AFX_MSG(CHyperLink)
  75.     afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
  76.     afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
  77.     afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  78.     //}}AFX_MSG
  79.     afx_msg void OnClicked();
  80.     DECLARE_MESSAGE_MAP()
  81. };
  82. /////////////////////////////////////////////////////////////////////////////
  83. //{{AFX_INSERT_LOCATION}}
  84. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  85. #endif // !defined(AFX_HYPERLINK_H__D1625061_574B_11D1_ABBA_00A0243D1382__INCLUDED_)