📄 label.h
字号:
#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& SetText(int textid);
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);
bool init_label(bool flag = false)
{
label_r = 0;
label_g = 0;
label_b = 0;
COLORREF cl ;
if(!flag)
cl = RGB(0,0,0);
else
cl = RGB(255,255,255);
SetTransparent(TRUE).SetTextColor(cl);
return true;
}
bool init_label(int textcolor1,int textcolor2,int textcolor3,int bc1,int bc2, int bc3)
{
label_r = bc1;
label_g = bc2;
label_b = bc3;
COLORREF cl = RGB(textcolor1,textcolor2,textcolor3);
SetTransparent(TRUE).SetTextColor(cl);
return true;
}
bool init_title()
{
SetTransparent(TRUE).SetFontBold(TRUE).
SetFontSize(9).
SetTextColor(RGB(0,0,80));
return true;
}
// Attributes
public:
void SetTooltipText(int nText, BOOL bActivate = TRUE);
void SetTooltipText(LPCTSTR lpszText, BOOL bActivate = TRUE);
void InitToolTip();
void ActivateTooltip(BOOL bActivate);
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;
CString m_strText;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CLabel)
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
protected:
virtual void PreSubclassWindow();
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CLabel();
// Generated message map functions
protected:
LRESULT on_set_text(WPARAM, LPARAM);
//{{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 void OnEnable(BOOL bEnable);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
int label_r,label_g,label_b;
CToolTipCtrl m_ToolTip; // Tooltip
};
/////////////////////////////////////////////////////////////////////////////
//{{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_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -