mrDarker
2025-10-22 e8a27bb203fe2aff70390a5eca002d7438da9b0f
SourceCode/Bond/Servo/CCjPageBase.h
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
#pragma once
#include "GroupLabel.h"
#include <functional>
typedef std::function<void(void* pFrom, int code, void* pContext, int contextType)> ONCONTENTCHANGED;
// CPjPage1 å¯¹è¯æ¡†
class CCjPageBase : public CDialogEx
{
   DECLARE_DYNAMIC(CCjPageBase)
public:
   CCjPageBase(UINT nID, CWnd* pPage);         // æ ‡å‡†æž„造函数
   virtual ~CCjPageBase();
public:
   void SetTitle(CString strTitle);
   virtual int OnApply() { return 0; };
   void SetOnContentChanged(ONCONTENTCHANGED onContentChanged);
   void SetContext(void* pContext, int type);
   void* GetContext();
protected:
   virtual void Resize();
   virtual void ContentChanged(int code);
   virtual void OnSetContext(void* pContext) { };
private:
   COLORREF m_crBkgndCached;
   CBrush m_brBkgnd;
   CGroupLabel m_labelTitle;
   ONCONTENTCHANGED m_onContentChanged;
protected:
   COLORREF m_crBkgnd;
   BOOL m_bContentChangedLock;
   void* m_pContext;
   int m_nContextType;
// å¯¹è¯æ¡†æ•°æ®
#ifdef AFX_DESIGN_TIME
   enum { IDD = IDD_CJ_PAGE1 };
#endif
protected:
   virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV æ”¯æŒ
   DECLARE_MESSAGE_MAP()
public:
   virtual BOOL OnInitDialog();
   afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
   afx_msg void OnSize(UINT nType, int cx, int cy);
};