HyperLink.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:3k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #if !defined(AFX_HYPERLINK_H__D1625061_574B_11D1_ABBA_00A0243D1382__INCLUDED_)
  2. #define AFX_HYPERLINK_H__D1625061_574B_11D1_ABBA_00A0243D1382__INCLUDED_
  3. #if _MSC_VER >= 1000
  4. #pragma once
  5. #endif // _MSC_VER >= 1000
  6. /////////////////////////////////////////////////////////////////////////////
  7. // CHyperLink window
  8. class CHyperLink : public CStatic
  9. {
  10. // Construction/destruction
  11. public:
  12.     CHyperLink();
  13.     virtual ~CHyperLink();
  14. public:
  15.     enum UnderLineOptions { ulHover = -1, ulNone = 0, ulAlways = 1};
  16. // Attributes
  17. public:
  18.     void SetURL(CString strURL);
  19.     CString GetURL() const;
  20.     void SetColours(COLORREF crLinkColour, COLORREF crVisitedColour, 
  21.                     COLORREF crHoverColour = -1);
  22.     COLORREF GetLinkColour() const;
  23.     COLORREF GetVisitedColour() const;
  24.     COLORREF GetHoverColour() const;
  25.     void SetVisited(BOOL bVisited = TRUE);
  26.     BOOL GetVisited() const;
  27.     void SetLinkCursor(HCURSOR hCursor);
  28.     HCURSOR GetLinkCursor() const;
  29.     void SetUnderline(int nUnderline = ulHover);
  30.     int  GetUnderline() const;
  31.     void SetAutoSize(BOOL bAutoSize = TRUE);
  32.     BOOL GetAutoSize() const;
  33. // Overrides
  34.     // ClassWizard generated virtual function overrides
  35.     //{{AFX_VIRTUAL(CHyperLink)
  36. public:
  37.     virtual BOOL PreTranslateMessage(MSG* pMsg);
  38. virtual BOOL DestroyWindow();
  39. protected:
  40.     virtual void PreSubclassWindow();
  41. //}}AFX_VIRTUAL
  42. // Implementation
  43. protected:
  44.     HINSTANCE GotoURL(LPCTSTR url, int showcmd);
  45.     void ReportError(int nError);
  46.     LONG GetRegKey(HKEY key, LPCTSTR subkey, LPTSTR retdata);
  47.     void PositionWindow();
  48.     void SetDefaultCursor();
  49. // Protected attributes
  50. protected:
  51.     COLORREF m_crLinkColour, m_crVisitedColour;     // Hyperlink colours
  52.     COLORREF m_crHoverColour;                       // Hover colour
  53.     BOOL     m_bOverControl;                        // cursor over control?
  54.     BOOL     m_bVisited;                            // Has it been visited?
  55.     int      m_nUnderline;                          // underline hyperlink?
  56.     BOOL     m_bAdjustToFit;                        // Adjust window size to fit text?
  57.     CString  m_strURL;                              // hyperlink URL
  58.     CFont    m_UnderlineFont;                       // Font for underline display
  59.     CFont    m_StdFont;                             // Standard font
  60.     HCURSOR  m_hLinkCursor;                         // Cursor for hyperlink
  61.     CToolTipCtrl m_ToolTip;                         // The tooltip
  62.     UINT     m_nTimerID;
  63.     // Generated message map functions
  64. protected:
  65.     //{{AFX_MSG(CHyperLink)
  66.     afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
  67.     afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
  68.     afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  69. afx_msg void OnTimer(UINT nIDEvent);
  70. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  71. //}}AFX_MSG
  72.     afx_msg void OnClicked();
  73.     DECLARE_MESSAGE_MAP()
  74. };
  75. /////////////////////////////////////////////////////////////////////////////
  76. //{{AFX_INSERT_LOCATION}}
  77. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  78. #endif // !defined(AFX_HYPERLINK_H__D1625061_574B_11D1_ABBA_00A0243D1382__INCLUDED_)