-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathColorHeaderCtrl.h
49 lines (43 loc) · 1.36 KB
/
ColorHeaderCtrl.h
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
#pragma once
// CColorHeaderCtrl
class CColorHeaderCtrl : public CHeaderCtrl
{
DECLARE_DYNAMIC(CColorHeaderCtrl)
public:
CColorHeaderCtrl();
~CColorHeaderCtrl() override = default;
public:
void UpdateCustomDrawFlag();
BOOL IsCustomDraw() const { return m_bCustomDraw; }
COLORREF GetTextColorEx() const { return m_crText; }
COLORREF GetBackgroundColor() const { return m_crBackground; }
COLORREF GetBackgroundColorHot() const { return m_crBackgroundHot; }
COLORREF GetBackgroundColorPressed() const { return m_crBackgroundPressed; }
void SetTextColorEx(const COLORREF cr)
{
m_crText = cr;
UpdateCustomDrawFlag();
}
void SetBackgroundColor(const COLORREF cr)
{
m_crBackground = cr;
UpdateCustomDrawFlag();
}
void SetBackgroundColorHot(const COLORREF cr) { m_crBackgroundHot = cr; }
void SetBackgroundColorPressed(const COLORREF cr) { m_crBackgroundPressed = cr; }
protected:
COLORREF m_crText{ 0 };
COLORREF m_crBackground{ 0 };
COLORREF m_crBackgroundHot{ 0 };
COLORREF m_crBackgroundPressed{ 0 };
COLORREF m_crBackgroundTheme{ 0 };
COLORREF m_crBackgroundHotTheme{ 0 };
COLORREF m_crBackgroundPressedTheme{ 0 };
BOOL m_bCustomDraw{ FALSE };
BOOL m_bPrint{ FALSE }; // To avoid infinite loop with WM_PRINTCLIENT
protected:
//{{AFX_MSG(CHeaderCtrlEx)
afx_msg void OnNMCustomdraw(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};