93 lines
2.7 KiB
C++
93 lines
2.7 KiB
C++
// 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_)
|