////////////////////////////////////////////////////////
// Class Name : CMyHyperLink
// Written By : Renjith.R
// Email : renjith_sree@hotmail.com
// Details :Derived from MFC CStatic 
// Date :Nov 25 2002
// This can be used as a Hyperlink 
//Feel free to use this class in your project

///////////////////////////////////////////////////////////


#if !defined(AFX_MYHYPERLINK_H__699B2FB4_0C03_4B12_B117_210A97860E0D__INCLUDED_)
#define AFX_MYHYPERLINK_H__699B2FB4_0C03_4B12_B117_210A97860E0D__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// MyHyperLink.h : header file
//

//This is the EventID , Which Will  send to the Parent
//by the hyperlink  control

# define _HYPERLINK_EVENT WM_USER + 101 

/////////////////////////////////////////////////////////////////////////////
// CMyHyperLink window

class CMyHyperLink : public CStatic
{
// Construction
public:
	CMyHyperLink();

// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMyHyperLink)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void PreSubclassWindow();
	virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult);
	//}}AFX_VIRTUAL

// Implementation
public:
	void SetFireChild(int nFlag);
	CString GetLinkText();
	CString GetLinkUrl();
	
	bool GoToLinkUrl(CString csLink);
	
	void SetHoverColor(COLORREF cHoverColor);
	void SetVisitedColor(COLORREF sVisitedColor);
	void SetLinkUrl(CString csUrl);
	void SetToolTipBgColor(COLORREF sToolTipBgColor);
	void SetToolTipTextColor(COLORREF sToolTipText);
	void SetLinkText(CString csLinkText);
	void SetTootTipText(LPCSTR szToolTip);
	void ActiveToolTip(int nFlag);
	void SetLinkColor(COLORREF sLinkColor);
	
	virtual ~CMyHyperLink();

	// Generated message map functions
protected:
	bool m_bFireChild;
	
	HCURSOR m_hHyperCursor;	
	
	bool m_bEnableToolTip;
	bool m_bMouseOver;
	bool m_bVisited;

	CFont m_oTextFont;
	CToolTipCtrl m_ToolTip;

	CString m_csToolTipText;
	CString m_csLinkText;
	CString m_csUrl;

	COLORREF m_sHoverColor;
	COLORREF m_sLinkColor;
	COLORREF m_sVisitedColor;

	//{{AFX_MSG(CMyHyperLink)
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
	afx_msg void OnClicked();
	afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MYHYPERLINK_H__699B2FB4_0C03_4B12_B117_210A97860E0D__INCLUDED_)
