// 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 // Feel free to use and distribute. #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(); // Attributes public: // Operations public: void SetURL(CString strURL); CString GetURL() { return m_strURL; } void SetColours(COLORREF crLinkColour, COLORREF crVisitedColour); COLORREF GetLinkColour() { return m_crLinkColour; } COLORREF GetVisitedColour() { return m_crVisitedColour; } void SetVisited(BOOL bVisited = TRUE); BOOL GetVisited() { return m_bVisited; } void SetLinkCursor(HCURSOR hCursor) { m_hLinkCursor = hCursor; } void SetUnderline(BOOL bUnderline = TRUE); BOOL GetUnderline() { return m_bUnderline; } void SetAutoSize(BOOL bAutoSize = TRUE); BOOL GetAutoSize() { return m_bAdjustToFit; } // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CHyperLink) public: virtual BOOL PreTranslateMessage(MSG* pMsg); 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(); // Protected attributes protected: COLORREF m_crLinkColour, m_crVisitedColour; // Hyperlink colours BOOL m_bVisited; // Has it been visited? BOOL m_bUnderline; // underline hyperlink? BOOL m_bAdjustToFit; // Adjust window size to fit text? CString m_strURL; // hyperlink URL CFont m_Font; // Underline font if necessary HCURSOR m_hLinkCursor; // Cursor for hyperlink CToolTipCtrl m_ToolTip; // The tooltip // 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 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_)