Listing 1: tipwnd.h Interface to CTipWnd
/*------------------------------------------------------------------ TipWnd.h: Interface of the CTipWnd class Author: Zuoliu Ding, 11/2000 ------------------------------------------------------------------*/ #ifndef _TIPWND_H__0A0771A8 #define _TIPWND_H__0A0771A8 #define DEF_COLOR RGB(255, 255, 200) // Light yellow #define DEF_FONT 90, "Arial" // Default font #define DEF_DURATION 2 // 2 Seconds #define TWS_SHOWABOVE 0x00000001 // Tip above cursor #define TWS_ROURDRECT 0x00000002 // Round tip rect class CTipWnd : public CWnd { UINT m_idTimer; // Timer ID CWnd* m_pOwner; // Parent window CString m_strTip; // Tip text CPoint m_point; // Coursor position CSize m_size; // Tip size int m_nSecCount; // Second count int m_nSecDelay; // Duration CFont m_font; // Font CBrush m_brush; // Back color DWORD m_dwStyle; // Tip style public: CTipWnd(): m_nSecCount(0), m_point(0,0), m_dwStyle(0) {} ~CTipWnd() {} BOOL Create(CWnd* pOwner, UINT nTimerID=0); // Operations void SetTipText(CString strTip, CPoint point); BOOL SetTipText(CString strTip, CWnd* pWnd=NULL); BOOL SetTipText(CWnd* pWnd); void CancelTipWnd(); BOOL PtInOwnerWnd(CPoint point, int iDeflate=0); BOOL PtInChildWnd(CWnd* pWnd, CPoint point, BOOL bClient=TRUE); // Attributes void SetTipFont(int nPtSize, LPCTSTR szFace); void SetTipBkClr(COLORREF clr); void SetTipDuration(int iSec) { m_nSecDelay =iSec; }; void SetTipStyle(DWORD dwStyle) { m_dwStyle =dwStyle; }; protected: //{{AFX_MSG(CTipWnd) afx_msg void OnPaint(); afx_msg void OnTimer(UINT nIDEvent); afx_msg void OnClose(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; #endif // _TIPWND_H__0A0771A8 //End of File