HyperLink.h
上传用户:jzscgs158
上传日期:2022-05-25
资源大小:8709k
文件大小:4k
源码类别:

百货/超市行业

开发平台:

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-1999 (cmaunder@mail.com)
  8. // Feel free to use and distribute. May not be sold for profit. 
  9. // 2/29/00 -- P. Shaffer standard font mod.
  10. #if !defined(AFX_HYPERLINK_H__D1625061_574B_11D1_ABBA_00A0243D1382__INCLUDED_)
  11. #define AFX_HYPERLINK_H__D1625061_574B_11D1_ABBA_00A0243D1382__INCLUDED_
  12. #if _MSC_VER >= 1000
  13. #pragma once
  14. #endif // _MSC_VER >= 1000
  15. #define IDS_MAILADDR _T("mailto:davide_calabro@yahoo.com")
  16. #define IDS_WEBADDR _T("http://www.softechsoftware.it")
  17. /////////////////////////////////////////////////////////////////////////////
  18. // CHyperLink window
  19. class CHyperLink : public CStatic
  20. {
  21. // Construction/destruction
  22. public:
  23.     CHyperLink();
  24.     virtual ~CHyperLink();
  25. public:
  26.     enum UnderLineOptions { ulHover = -1, ulNone = 0, ulAlways = 1};
  27. // Attributes
  28. public:
  29.     void SetURL(CString strURL);
  30.     CString GetURL() const;
  31.     void SetColours(COLORREF crLinkColour, COLORREF crVisitedColour, 
  32.                     COLORREF crHoverColour = -1);
  33.     COLORREF GetLinkColour() const;
  34.     COLORREF GetVisitedColour() const;
  35.     COLORREF GetHoverColour() const;
  36.     void SetVisited(BOOL bVisited = TRUE);
  37.     BOOL GetVisited() const;
  38.     void SetLinkCursor(HCURSOR hCursor);
  39.     HCURSOR GetLinkCursor() const;
  40.     void SetUnderline(int nUnderline = ulHover);
  41.     int  GetUnderline() const;
  42.     void SetAutoSize(BOOL bAutoSize = TRUE);
  43.     BOOL GetAutoSize() const;
  44. // Overrides
  45.     // ClassWizard generated virtual function overrides
  46.     //{{AFX_VIRTUAL(CHyperLink)
  47. public:
  48.     virtual BOOL PreTranslateMessage(MSG* pMsg);
  49. virtual BOOL DestroyWindow();
  50. protected:
  51.     virtual void PreSubclassWindow();
  52. //}}AFX_VIRTUAL
  53. // Implementation
  54. protected:
  55.     HINSTANCE GotoURL(LPCTSTR url, int showcmd);
  56.     void ReportError(int nError);
  57.     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.     int      m_nUnderline;                          // underline hyperlink?
  67.     BOOL     m_bAdjustToFit;                        // Adjust window size to fit text?
  68.     CString  m_strURL;                              // hyperlink URL
  69.     CFont    m_UnderlineFont;                       // Font for underline display
  70.     CFont    m_StdFont;                             // Standard font
  71.     HCURSOR  m_hLinkCursor;                         // Cursor for hyperlink
  72.     CToolTipCtrl m_ToolTip;                         // The tooltip
  73.     UINT     m_nTimerID;
  74.     // Generated message map functions
  75. protected:
  76.     //{{AFX_MSG(CHyperLink)
  77.     afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
  78.     afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
  79.     afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  80. afx_msg void OnTimer(UINT nIDEvent);
  81. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  82. //}}AFX_MSG
  83.     afx_msg void OnClicked();
  84.     DECLARE_MESSAGE_MAP()
  85. };
  86. /////////////////////////////////////////////////////////////////////////////
  87. //{{AFX_INSERT_LOCATION}}
  88. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  89. #endif // !defined(AFX_HYPERLINK_H__D1625061_574B_11D1_ABBA_00A0243D1382__INCLUDED_)