📄 xptabctrl.h
字号:
#if !defined(AFX_XPTABCTRL_H__B39AA2D4_684D_11D8_97C8_0002A522F13C__INCLUDED_)
#define AFX_XPTABCTRL_H__B39AA2D4_684D_11D8_97C8_0002A522F13C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
enum ETabOrientation
{
e_tabTop=0,
e_tabBottom,
e_tabLeft,
e_tabRight,
e_tabNOF,
};
/////////////////////////////////////////////////////////////////////////////
// CXPTabCtrl window
class CXPTabCtrl : public CTabCtrl
{
ETabOrientation m_eTabOrientation; // current tab orientation
CImageList m_ilTabs; // possible tab image list
BOOL m_bTabExtended; // Use extended Themes functionalities
int m_ixSelOld; // used to redraw deselected tab background
// Construction
public:
CXPTabCtrl();
~CXPTabCtrl();
CDialog *m_tabPages[5];
int m_tabCurrent;
int m_nNumberOfPages;
void Init();
void SetRectangle();
// Operations
public:
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CXPTabCtrl)
//}}AFX_VIRTUAL
void SetExtended(BOOL bTabExtended) { m_bTabExtended=bTabExtended; }
void InitImageList(UINT nBitmapID);
// Generated message map functions
protected:
//{{AFX_MSG(CXPTabCtrl)
afx_msg void OnPaint();
afx_msg void OnTabSelChanging(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnTabSelChanged (NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
void DrawThemesXpTabItem(CDC* pDC, int ixItem, const CRect& rcItem, UINT uiFlag);
void DrawTabItem(CDC* pDC, int ixItem, const CRect& rcItemC, UINT uiFlags);
BOOL IsExtendedTabTheamedXP();
public:
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
};
/////////////////////////////////////////////////////////////////////////////
// Helper functions
HRESULT DrawThemesPart(HDC hDC, int iPartId, int iStateId, LPCSTR uiPartNameID, LPRECT prcRcBx);
BOOL IsThemeActiveXP();
int DWordAlign(int n);
template <class T> void SwapVars(T& a,T& b) { T t=a; a=b; b=t; }
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_XPTABCTRL_H__B39AA2D4_684D_11D8_97C8_0002A522F13C__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -