HyperLink.h
上传用户:jnfxs888
上传日期:2021-02-24
资源大小:98k
文件大小:3k
源码类别:

Static控件

开发平台:

Visual C++

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