// HyperLink.h : header file // // // HyperLink static control. Will open the default browser with the given URL // when the user clicks on the link. // // Copyright Chris Maunder, 1997-1999 (cmaunder@mail.com) // Feel free to use and distribute. May not be sold for profit. // 2/29/00 -- P. Shaffer standard font mod. #if !defined(AFX_HYPERLINK_H__D1625061_574B_11D1_ABBA_00A0243D1382__INCLUDED_) #define AFX_HYPERLINK_H__D1625061_574B_11D1_ABBA_00A0243D1382__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 ///////////////////////////////////////////////////////////////////////////// // CHyperLink window class CHyperLink : public CStatic { // Construction/destruction public: CHyperLink(); virtual ~CHyperLink(); public: enum UnderLineOptions { ulHover = -1, ulNone = 0, ulAlways = 1}; // Attributes public: void SetURL(CString strURL); CString GetURL() const; void SetColours(COLORREF crLinkColour, COLORREF crVisitedColour, COLORREF crHoverColour = -1); COLORREF GetLinkColour() const; COLORREF GetVisitedColour() const; COLORREF GetHoverColour() const; void SetVisited(BOOL bVisited = TRUE); BOOL GetVisited() const; void SetLinkCursor(HCURSOR hCursor); HCURSOR GetLinkCursor() const; void SetUnderline(int nUnderline = ulHover); int GetUnderline() const; void SetAutoSize(BOOL bAutoSize = TRUE); BOOL GetAutoSize() const; // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CHyperLink) public: virtual BOOL PreTranslateMessage(MSG* pMsg); virtual BOOL DestroyWindow(); protected: virtual void PreSubclassWindow(); //}}AFX_VIRTUAL // Implementation protected: HINSTANCE GotoURL(LPCTSTR url, int showcmd); void ReportError(int nError); LONG GetRegKey(HKEY key, LPCTSTR subkey, LPTSTR retdata); void PositionWindow(); void SetDefaultCursor(); // Protected attributes protected: COLORREF m_crLinkColour, m_crVisitedColour; // Hyperlink colours COLORREF m_crHoverColour; // Hover colour BOOL m_bOverControl; // cursor over control? BOOL m_bVisited; // Has it been visited? int m_nUnderline; // underline hyperlink? BOOL m_bAdjustToFit; // Adjust window size to fit text? CString m_strURL; // hyperlink URL CFont m_UnderlineFont; // Font for underline display CFont m_StdFont; // Standard font HCURSOR m_hLinkCursor; // Cursor for hyperlink CToolTipCtrl m_ToolTip; // The tooltip UINT m_nTimerID; // Generated message map functions protected: //{{AFX_MSG(CHyperLink) afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor); afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); afx_msg void OnMouseMove(UINT nFlags, CPoint point); afx_msg void OnTimer(UINT nIDEvent); afx_msg BOOL OnEraseBkgnd(CDC* pDC); //}}AFX_MSG afx_msg void OnClicked(); DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Developer Studio will insert additional declarations immediately before the previous line. #endif // !defined(AFX_HYPERLINK_H__D1625061_574B_11D1_ABBA_00A0243D1382__INCLUDED_)