SDC C-Project CF Review 프로그램
LYW
2021-06-28 cf6a4019e9efbc0503bd3fbcf6f951565d028972
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#pragma once
 
/////////////////////////////////////////////////////////////////////////////
enum ETabOrientation
{    
    e_tabTop=0,
    e_tabBottom,
    e_tabLeft,
    e_tabRight,
    e_tabNOF,
};
/////////////////////////////////////////////////////////////////////////////
// CXPTabCtrl
 
class CXPTabCtrl : public CTabCtrl
{
    DECLARE_DYNAMIC(CXPTabCtrl)
 
public:
    CXPTabCtrl();
    virtual ~CXPTabCtrl();
 
    void SetExtended(BOOL bTabExtended)            { m_bTabExtended=bTabExtended; }
    void InitImageList(UINT nBitmapID);
 
protected:
    afx_msg void OnPaint();
    afx_msg void OnTabSelChanging(NMHDR* pNMHDR, LRESULT* pResult);
    afx_msg void OnTabSelChanged (NMHDR* pNMHDR, LRESULT* pResult);
 
    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();
 
protected:
    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
 
};
 
/////////////////////////////////////////////////////////////////////////////
// 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; }
/////////////////////////////////////////////////////////////////////////////