⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cooltabctrl.h

📁 vc编译的酒店管理系统
💻 H
字号:
/*####################################################################
	Filename: 	cooltabctrl.h
	----------------------------------------------------
	Remarks:	...
	----------------------------------------------------

  ####################################################################*/
#if !defined(_ANYOU_COOL_TABCTRL_H)
#define _ANYOU_COOL_TABCTRL_H

#if _MSC_VER > 1000
#pragma once
#endif 

#include <afxtempl.h>

#define TABMODE_NONE		0
#define TABMODE_GROUP		1
#define TABMODE_TOPTAB		2
#define TABMODE_BOTTOMTAB	3
#define TABMODE_LEFTAB		4
#define TABMODE_RIGHTTAB	5

/*####################################################################
			------------------------------------------------
							class CTabPageItem
			------------------------------------------------
  ####################################################################*/
class CTabPageItem
{
	friend class CCoolTabCtrl;
private:
	CWnd*			m_pWnd;		//窗口,可以为NULL
	CCoolTabCtrl*	m_pParentWnd;
	UINT			m_dwState;	//窗口类型,0:普通,1:对话框
	CString			m_strText;	//标签
	HICON			m_hIcon;	//图标
	CRect			m_rect;		//矩形区域
	int				m_nNumber;	//序号
	
public:
	~CTabPageItem();
	void OnDraw(CDC *pDC, int nState);
	void Hide();
	CTabPageItem(CCoolTabCtrl* pParentWnd, CWnd* pWnd, const CString &strText, int nNumber);
	void SetRect(const CRect& rect);
	void Expend();
	void SetIcon(HICON hicon);
protected:
	CRect m_rcLabel;
};

/*####################################################################
			------------------------------------------------
							class CCoolTabCtrl
			------------------------------------------------
  ####################################################################*/
class CCoolTabCtrl : public CWnd
{
	friend class CTabPageItem;
// Construction--------------------------------------
	DECLARE_DYNCREATE(CCoolTabCtrl)
public:
	CCoolTabCtrl();
	virtual ~CCoolTabCtrl();
	BOOL Create(const CRect &rect, CWnd *pParentWnd, UINT dwStyle = WS_VISIBLE | WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, 
				UINT dwCtrlStyle = 0, UINT nID = 0);

// Attributes-----------------------------------------
public:
	void SetActivePage(int nindex);
	void SetBorderStyle(DWORD dwStyle);
	void SetCtrlStyle(DWORD dwStyle);

	int GetActivePage() { return m_nActivePage;}
	
// Operations-----------------------------------------
public:
	BOOL AddPage(CWnd* pwnd, LPCTSTR strText, UINT IconID);
	BOOL AddPage(CRuntimeClass* pClass,UINT nIDTemplate, LPCTSTR strText, UINT IconID);

	
// Overrides------------------------------------------
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CCoolTabCtrl)
	//}}AFX_VIRTUAL

// Implementation-------------------------------------
public:
	void DrawBoder(CDC* pDC, CRect rect);
	CWnd* GetPage(int number);
	void SetMode(int nMode);
    void AutoSize();
	BOOL PlayResource(WORD wResourceID);//点击非客户区播放声音
public:
//	static bool m_bDefaultPage;//是否为缺省的页面
// Generated message map functions---------------------
protected:
	int m_nMode;
	//{{AFX_MSG(CCoolTabCtrl)
	afx_msg void OnPaint();
	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
	afx_msg void OnNcPaint();
	afx_msg int  OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp);
	afx_msg void OnWindowPosChanging(WINDOWPOS FAR* lpwndpos);
	afx_msg UINT OnNcHitTest(CPoint point);
	afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point);
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	int m_nHotItem;
	DWORD m_dwBorderStyle;
	int m_nActivePage;
	CFont m_fontWnd;
	DWORD m_dwStyle;
	CArray<CTabPageItem*, CTabPageItem*> m_aTabPage;
};

//{{AFX_INSERT_LOCATION}}
#endif // !defined(_ANYOU_COOLTABCTRL_H)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -