From bfe14e41fa5b07771d78af4511ba18d706bc23cc Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 28 七月 2025 17:07:52 +0800
Subject: [PATCH] 1.Spooling Config功能EAP模拟测试;

---
 SourceCode/Bond/BLControlsSDK/include/BLLabel.h |  136 ++++++++++++++++++++++++++------------------
 1 files changed, 80 insertions(+), 56 deletions(-)

diff --git a/SourceCode/Bond/BLControlsSDK/include/BLLabel.h b/SourceCode/Bond/BLControlsSDK/include/BLLabel.h
index c0ef631..88ff5d0 100644
--- a/SourceCode/Bond/BLControlsSDK/include/BLLabel.h
+++ b/SourceCode/Bond/BLControlsSDK/include/BLLabel.h
@@ -4,74 +4,98 @@
 #if _MSC_VER >= 1000
 #pragma once
 #endif // _MSC_VER >= 1000
-// Label.h : header file
-//
+
+#include <functional> 
 
 /////////////////////////////////////////////////////////////////////////////
 // CBLLabel window
-enum FlashType {None, Text, Background };
+enum FlashType { None, Text, Background };
+enum TextAlign { AlignLeft, AlignCenter, AlignRight };
 
 class AFX_EXT_CLASS CBLLabel : public CStatic
 {
-// Construction
-public:
-	CBLLabel();
-	CBLLabel& SetBkColor(COLORREF crBkgnd);
-	CBLLabel& SetTextColor(COLORREF crText);
-	CBLLabel& SetText(const CString& strText);
-	CBLLabel& SetFontBold(BOOL bBold);
-	CBLLabel& SetFontName(const CString& strFont);
-	CBLLabel& SetFontUnderline(BOOL bSet);
-	CBLLabel& SetFontItalic(BOOL bSet);
-	CBLLabel& SetFontSize(int nSize);
-	CBLLabel& SetSunken(BOOL bSet);
-	CBLLabel& SetBorder(BOOL bSet);
-	CBLLabel& FlashText(BOOL bActivate);
-	CBLLabel& FlashBackground(BOOL bActivate);
-	CBLLabel& SetLink(BOOL bLink);
-	CBLLabel& SetLinkCursor(HCURSOR hCursor);
+    DECLARE_DYNCREATE(CBLLabel) // 鏀寔鍔ㄦ�佸垱寤�
 
-// Attributes
 public:
+    // 鏋勯�犱笌鏋愭瀯
+    CBLLabel();
+    virtual ~CBLLabel();
+
+    void SetClickCallback(std::function<void()> callback); // 璁剧疆鐐瑰嚮浜嬩欢鐨勫洖璋冨嚱鏁�
+
+    // 灞炴�ц缃帴鍙�
+    CBLLabel& SetBkColor(COLORREF crBkgnd);                 // 璁剧疆鑳屾櫙棰滆壊
+    CBLLabel& SetTextColor(COLORREF crText);                // 璁剧疆鏂囨湰棰滆壊
+    CBLLabel& SetText(const CString& strText);              // 璁剧疆鏂囨湰鍐呭
+    CBLLabel& SetFontBold(BOOL bBold);                      // 璁剧疆瀛椾綋鍔犵矖
+    CBLLabel& SetFontName(const CString& strFont);          // 璁剧疆瀛椾綋鍚嶇О
+    CBLLabel& SetFontUnderline(BOOL bSet);                  // 璁剧疆涓嬪垝绾�
+    CBLLabel& SetFontItalic(BOOL bSet);                     // 璁剧疆鏂滀綋
+    CBLLabel& SetFontSize(int nSize);                       // 璁剧疆瀛椾綋澶у皬
+    CBLLabel& SetAlignment(TextAlign alignment);            // 璁剧疆鏂囨湰瀵归綈鏂瑰紡
+    CBLLabel& SetDynamicFont(BOOL bDynamic);                // 璁剧疆鏄惁鍔ㄦ�佽皟鏁村瓧浣�
+    CBLLabel& FlashText(BOOL bActivate);                    // 闂儊鏂囨湰
+    CBLLabel& FlashBackground(BOOL bActivate);              // 闂儊鑳屾櫙
+    CBLLabel& SetLink(BOOL bLink);                          // 璁剧疆鏄惁鍚敤瓒呴摼鎺�
+    CBLLabel& SetLinkCursor(HCURSOR hCursor);               // 璁剧疆瓒呴摼鎺ュ厜鏍�
+	CBLLabel& DisableBorder();							    // 绂佺敤杈规
+	CBLLabel& SetBorderColor(COLORREF crBorder);            // 璁剧疆杈规棰滆壊
+	CBLLabel& SetBorderWidth(int nWidth);                   // 璁剧疆杈规瀹藉害
+	CBLLabel& SetBorderStyle(int nStyle);                   // 璁剧疆杈规鏍峰紡
+	CBLLabel& SetDefaultCursor(HCURSOR hCursor);			// 璁剧疆榛樿鍏夋爣
+    CBLLabel& SetHandCursor(HCURSOR hCursor);				// 璁剧疆鎵嬪瀷鍏夋爣
+    CBLLabel& SetRoundedCorners(BOOL bEnable, int nRadius); // 璁剧疆鍦嗚鍙婂崐寰�
+    CBLLabel& SetCornerRadius(int nTopLeft, int nTopRight, int nBottomRight, int nBottomLeft); // 璁剧疆鍚勮鍦嗚鍗婂緞
+
 protected:
-	void ReconstructFont();
-	COLORREF	m_crText;
-	HBRUSH		m_hBrush;
-	HBRUSH		m_hwndBrush;
-	LOGFONT		m_lf;
-	CFont		m_font;
-	CString		m_strText;
-	BOOL		m_bState;
-	BOOL		m_bTimer;
-	BOOL		m_bLink;
-	FlashType	m_Type;
-	HCURSOR		m_hCursor;
-			// Operations
-public:
-// Overrides
-	// ClassWizard generated virtual function overrides
-	//{{AFX_VIRTUAL(CBLLabel)
-	//}}AFX_VIRTUAL
+    // 宸ュ叿鍑芥暟
+    void ReconstructFont();                                 // 閲嶆柊鏋勯�犲瓧浣�
+    void UpdateFontSize();                                  // 鍔ㄦ�佽皟鏁村瓧浣撳ぇ灏�
+	void CreateRoundedRegion(CRgn& rgn, const CRect& rect); // 鍒涘缓鍦嗚鍖哄煙
+    virtual void OnPaint();                                 // 鑷畾涔夌粯鍒舵枃鏈�
 
-// Implementation
-public:
-	virtual ~CBLLabel();
+    // 灞炴��
+    COLORREF  m_crText;           // 鏂囨湰棰滆壊
+    COLORREF  m_crBkColor;        // 鑳屾櫙棰滆壊
+    HBRUSH    m_hBrush;           // 鑳屾櫙鐢诲埛
+    LOGFONT   m_lf;               // 瀛椾綋淇℃伅
+    CFont     m_font;             // 瀛椾綋瀵硅薄
+    CString   m_strText;          // 鏂囨湰鍐呭
+    BOOL      m_bState;           // 鐘舵�侊紝鐢ㄤ簬闂儊
+    BOOL      m_bTimer;           // 瀹氭椂鍣ㄧ姸鎬�
+    BOOL      m_bLink;            // 鏄惁涓鸿秴閾炬帴
+    BOOL      m_bDynamicFont;     // 鏄惁鍔ㄦ�佽皟鏁村瓧浣撳ぇ灏�
+    TextAlign m_alignment;        // 鏂囨湰瀵归綈鏂瑰紡
+    FlashType m_Type;             // 闂儊绫诲瀷
+    HCURSOR   m_hCursor;          // 瓒呴摼鎺ュ厜鏍�
 
-	// Generated message map functions
+    // 杈规灞炴��
+    COLORREF m_crBorderColor;     // 杈规棰滆壊
+    int m_nBorderWidth;           // 杈规瀹藉害
+    int m_nBorderStyle;           // 杈规鏍峰紡锛堜娇鐢� GDI 鏍峰紡锛歅S_SOLID, PS_DASH 绛夛級
+
+    // 鍦嗚鐩稿叧灞炴��
+    BOOL m_bRoundedCorners;       // 鏄惁鍚敤鍦嗚
+    int  m_nTopLeftRadius;        // 宸︿笂瑙掑渾瑙掑崐寰�
+    int  m_nTopRightRadius;       // 鍙充笂瑙掑渾瑙掑崐寰�
+    int  m_nBottomRightRadius;    // 鍙充笅瑙掑渾瑙掑崐寰�
+    int  m_nBottomLeftRadius;     // 宸︿笅瑙掑渾瑙掑崐寰�
+
+	// 榧犳爣浜嬩欢鐩稿叧灞炴��
+    BOOL    m_bMouseIn;           // 榧犳爣鏄惁鍦ㄦ帶浠朵笂
+    HCURSOR m_hHandCursor;        // 鎵嬪瀷鍏夋爣
+    HCURSOR m_hDefaultCursor;     // 榛樿鍏夋爣
+    std::function<void()> m_clickCallback; // 鐐瑰嚮浜嬩欢鐨勫洖璋冨嚱鏁�
+
 protected:
-	//{{AFX_MSG(CBLLabel)
-	afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
-	afx_msg void OnTimer(UINT_PTR nIDEvent);
-	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
-	afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
-	//}}AFX_MSG
-
-	DECLARE_MESSAGE_MAP()
+    // MFC 娑堟伅鏄犲皠
+    virtual HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);      // 鑳屾櫙鍜屾枃鏈鑹茶缃�
+    afx_msg void OnTimer(UINT_PTR nIDEvent);                // 瀹氭椂鍣ㄤ簨浠�
+    afx_msg void OnLButtonDown(UINT nFlags, CPoint point);  // 榧犳爣鐐瑰嚮浜嬩欢
+    afx_msg void OnMouseMove(UINT nFlags, CPoint point);    // 榧犳爣绉诲姩浜嬩欢
+	afx_msg void OnMouseLeave();                            // 榧犳爣绂诲紑浜嬩欢
+    afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); // 璁剧疆鍏夋爣浜嬩欢
+    DECLARE_MESSAGE_MAP()
 };
-
-/////////////////////////////////////////////////////////////////////////////
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
 
 #endif // !defined(AFX_BLLABEL_H__A4EABEC5_2E8C_11D1_B79F_00805F9ECE10__INCLUDED_)

--
Gitblit v1.9.3