16,548
社区成员




class CCoolTabCtrl : public CWnd
{
public:
class CPageItem
{
friend class CCoolTabCtrl;
CWnd* m_pWnd; ///窗口,可以为NULL
UINT m_nStyle; ///窗口类型,0:普通,1:动态创建
CString m_sText; ///文字
HICON m_hIcon; ///图标
public:
CRect m_rect;
public:
void SetPageStyle(UINT nStyle)
{
m_nStyle = nStyle;
}
UINT GetAreaWidth(CDC* pDC);
void Draw(CDC* pDC, UINT nStyle, BOOL bActive);
};
DECLARE_DYNCREATE(CCoolTabCtrl)
// Construction
public:
CCoolTabCtrl();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCoolTabCtrl)
//}}AFX_VIRTUAL
// Implementation
public:
void SetStyleMonoSpace(BOOL bEnable = TRUE);
void SetStyleDirection(int Direction); ///Direction取值:TCS_UP,TCS_DOWN
void SetStyleAnimate(BOOL bEnable = TRUE); ///允许动画bEnable = TRUE,否则为FALSE
void UpdateWindow();
BOOL m_bEraseBkgnd;
UINT GetStyle();
void SetStyle(UINT style);
void DrawFrame(CDC* pDC);
void* GetPageItem(UINT nIndex);
void SetActivePage(int nIndex);
BOOL AddPage(CRuntimeClass* pClass, UINT nIDTemplate, LPCTSTR sText,
UINT IconID = NULL);
CPageItem* AddPage(CWnd* pWnd, LPCTSTR sText, UINT IconID = NULL);
void AutoSize();
void GetClientRect(LPRECT lpRect);
BOOL Create(UINT wStyle, const CRect& rect, CWnd* pParentWnd, UINT nID);
virtual ~CCoolTabCtrl();
// Generated message map functions
protected:
//{{AFX_MSG(CCoolTabCtrl)
afx_msg void OnPaint();
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnSizing(UINT fwSide, LPRECT pRect);
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg BOOL OnNotify( WPARAM wParam, LPARAM lParam, LRESULT* pResult );
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnDestroy();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CFont m_font;
int m_nActivePage;
UINT m_nStyle;
UINT m_nBorder;
CPtrList m_PageList;
};
class CCoolTabCtrl : public CWnd
{
public:
class CPageItem
{
friend class CCoolTabCtrl;
CWnd* m_pWnd; ///窗口,可以为NULL
UINT m_nStyle; ///窗口类型,0:普通,1:动态创建
CString m_sText; ///文字
HICON m_hIcon; ///图标
public:
CRect m_rect;
public:
void SetPageStyle(UINT nStyle)
{
m_nStyle = nStyle;
}
UINT GetAreaWidth(CDC* pDC);
void Draw(CDC* pDC, UINT nStyle, BOOL bActive);
};
DECLARE_DYNCREATE(CCoolTabCtrl)
// Construction
public:
CCoolTabCtrl();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCoolTabCtrl)
//}}AFX_VIRTUAL
// Implementation
public:
void SetStyleMonoSpace(BOOL bEnable = TRUE);
void SetStyleDirection(int Direction); ///Direction取值:TCS_UP,TCS_DOWN
void SetStyleAnimate(BOOL bEnable = TRUE); ///允许动画bEnable = TRUE,否则为FALSE
void UpdateWindow();
BOOL m_bEraseBkgnd;
UINT GetStyle();
void SetStyle(UINT style);
void DrawFrame(CDC* pDC);
void* GetPageItem(UINT nIndex);
void SetActivePage(int nIndex);
BOOL AddPage(CRuntimeClass* pClass, UINT nIDTemplate, LPCTSTR sText,
UINT IconID = NULL);
CPageItem* AddPage(CWnd* pWnd, LPCTSTR sText, UINT IconID = NULL);
void AutoSize();
void GetClientRect(LPRECT lpRect);
BOOL Create(UINT wStyle, const CRect& rect, CWnd* pParentWnd, UINT nID);
virtual ~CCoolTabCtrl();
// Generated message map functions
protected:
//{{AFX_MSG(CCoolTabCtrl)
afx_msg void OnPaint();
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnSizing(UINT fwSide, LPRECT pRect);
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg BOOL OnNotify( WPARAM wParam, LPARAM lParam, LRESULT* pResult );
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnDestroy();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CFont m_font;
int m_nActivePage;
UINT m_nStyle;
UINT m_nBorder;
CPtrList m_PageList;
};
class CCoolTabCtrl : public CWnd
{
public:
class CPageItem
{
friend class CCoolTabCtrl;
CWnd* m_pWnd; ///窗口,可以为NULL
UINT m_nStyle; ///窗口类型,0:普通,1:动态创建
CString m_sText; ///文字
HICON m_hIcon; ///图标
public:
CRect m_rect;
public:
void SetPageStyle(UINT nStyle)
{
m_nStyle = nStyle;
}
UINT GetAreaWidth(CDC* pDC);
void Draw(CDC* pDC, UINT nStyle, BOOL bActive);
};
DECLARE_DYNCREATE(CCoolTabCtrl)
// Construction
public:
CCoolTabCtrl();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCoolTabCtrl)
//}}AFX_VIRTUAL
// Implementation
public:
void SetStyleMonoSpace(BOOL bEnable = TRUE);
void SetStyleDirection(int Direction); ///Direction取值:TCS_UP,TCS_DOWN
void SetStyleAnimate(BOOL bEnable = TRUE); ///允许动画bEnable = TRUE,否则为FALSE
void UpdateWindow();
BOOL m_bEraseBkgnd;
UINT GetStyle();
void SetStyle(UINT style);
void DrawFrame(CDC* pDC);
void* GetPageItem(UINT nIndex);
void SetActivePage(int nIndex);
BOOL AddPage(CRuntimeClass* pClass, UINT nIDTemplate, LPCTSTR sText,
UINT IconID = NULL);
CPageItem* AddPage(CWnd* pWnd, LPCTSTR sText, UINT IconID = NULL);
void AutoSize();
void GetClientRect(LPRECT lpRect);
BOOL Create(UINT wStyle, const CRect& rect, CWnd* pParentWnd, UINT nID);
virtual ~CCoolTabCtrl();
// Generated message map functions
protected:
//{{AFX_MSG(CCoolTabCtrl)
afx_msg void OnPaint();
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnSizing(UINT fwSide, LPRECT pRect);
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg BOOL OnNotify( WPARAM wParam, LPARAM lParam, LRESULT* pResult );
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnDestroy();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CFont m_font;
int m_nActivePage;
UINT m_nStyle;
UINT m_nBorder;
CPtrList m_PageList;
};