123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- #if !defined(AFX_LABEL_H__A4EABEC5_2E8C_11D1_B79F_00805F9ECE10__INCLUDED_)
- #define AFX_LABEL_H__A4EABEC5_2E8C_11D1_B79F_00805F9ECE10__INCLUDED_
- #if _MSC_VER >= 1000
- #pragma once
- #endif // _MSC_VER >= 1000
- // Label.h : header file
- //
- #define NM_LINKCLICK WM_APP + 0x200
- /////////////////////////////////////////////////////////////////////////////
- // CLabel window
- class CLabel : public CStatic
- {
- // Construction
- public:
- static enum LinkStyle { LinkNone, HyperLink, MailLink };
- static enum FlashType {None, Text, Background };
- static enum Type3D { Raised, Sunken};
- static enum BackFillMode { Normal, Gradient };
- CLabel();
- virtual CLabel& SetBkColor(COLORREF crBkgnd, COLORREF crBkgndHigh = 0, BackFillMode mode = Normal);
- virtual CLabel& SetTextColor(COLORREF crText);
- virtual CLabel& SetText(const CString& strText);
- virtual CLabel& SetFontBold(BOOL bBold);
- virtual CLabel& SetFontName(const CString& strFont, BYTE byCharSet = ANSI_CHARSET);
- virtual CLabel& SetFontUnderline(BOOL bSet);
- virtual CLabel& SetFontItalic(BOOL bSet);
- virtual CLabel& SetFontSize(int nSize);
- virtual CLabel& SetSunken(BOOL bSet);
- virtual CLabel& SetBorder(BOOL bSet);
- virtual CLabel& SetTransparent(BOOL bSet);
- virtual CLabel& FlashText(BOOL bActivate);
- virtual CLabel& FlashBackground(BOOL bActivate);
- virtual CLabel& SetLink(BOOL bLink,BOOL bNotifyParent);
- virtual CLabel& SetLinkCursor(HCURSOR hCursor);
- virtual CLabel& SetFont3D(BOOL bSet,Type3D type=Raised);
- virtual CLabel& SetRotationAngle(UINT nAngle,BOOL bRotation);
- virtual CLabel& SetText3DHiliteColor(COLORREF cr3DHiliteColor);
- virtual CLabel& SetFont(LOGFONT lf);
- virtual CLabel& SetMailLink(BOOL bEnable, BOOL bNotifyParent);
- virtual CLabel& SetHyperLink(const CString& sLink);
- // Attributes
- public:
- protected:
- void UpdateSurface();
- void ReconstructFont();
- void DrawGradientFill(CDC* pDC, CRect* pRect, COLORREF crStart, COLORREF crEnd, int nSegments);
- COLORREF m_crText;
- COLORREF m_cr3DHiliteColor;
- HBRUSH m_hwndBrush;
- HBRUSH m_hBackBrush;
- LOGFONT m_lf;
- CFont m_font;
- BOOL m_bState;
- BOOL m_bTimer;
- LinkStyle m_Link;
- BOOL m_bTransparent;
- BOOL m_bFont3d;
- BOOL m_bToolTips;
- BOOL m_bNotifyParent;
- BOOL m_bRotation;
- FlashType m_Type;
- HCURSOR m_hCursor;
- Type3D m_3dType;
- BackFillMode m_fillmode;
- COLORREF m_crHiColor;
- COLORREF m_crLoColor;
- CString m_sLink;
- CDC* m_pMemDC;
- //CDC* pDCMem;
- // Operations
- public:
- // Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CLabel)
- protected:
- virtual void PreSubclassWindow();
- virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
- //}}AFX_VIRTUAL
- // Implementation
- public:
- virtual ~CLabel();
- // Generated message map functions
- protected:
- //{{AFX_MSG(CLabel)
- afx_msg void OnTimer(UINT nIDEvent);
- afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
- afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
- afx_msg void OnSysColorChange();
- afx_msg void OnPaint();
- afx_msg BOOL OnEraseBkgnd(CDC* pDC);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- public:
- //tc:这就是新添加的ON_WM_CTLCOLOR_REFLECT()消息的响应函数
- afx_msg HBRUSH CtlColor(CDC* /*pDC*/, UINT /*nCtlColor*/);
- };
- /////////////////////////////////////////////////////////////////////////////
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
- #endif // !defined(AFX_LABEL_H__A4EABEC5_2E8C_11D1_B79F_00805F9ECE10__INCLUDED_)
|