FLImaging 6.5.8.1
GUIScrollBarOwnerDrawn.h
1#pragma once
2#include "GUIDefinitions.h"
3
4namespace FLImaging
5{
6 namespace GUI
7 {
8 class CGUIScrollBarOwnerDrawn
9 {
10 public:
11 CGUIScrollBarOwnerDrawn(CWnd* pParentWnd, EOrientation eOrientation = EOrientation_Vertical);
12 virtual ~CGUIScrollBarOwnerDrawn();
13
14 virtual void SetOrientation(EOrientation eOrientation);
15 virtual EOrientation GetOrientation() const;
16
17 virtual void SetColorBackground(COLORREF clrBk, COLORREF clrBkHilight);
18 virtual void GetColorBackground(COLORREF& clrBk, COLORREF& clrBkHilight) const;
19
20 virtual void SetColorThumb(COLORREF clrThumb, COLORREF clrThumbHilight);
21 virtual void GetColorThumb(COLORREF& clrThumb, COLORREF& clrThumbHilight) const;
22
23 virtual void SetColorArrow(COLORREF clrArrow, COLORREF clrArrowHilight);
24 virtual void GetColorArrow(COLORREF& clrArrow, COLORREF& clrArrowHilight) const;
25
26 virtual const CResult CalcScrollBarRegion(CRect rect, int32_t i32ContentsSize);
27
28 virtual EScrollBarArea HitTest(const CPoint& ptPoint) const;
29
30 virtual void SetHitArea(EScrollBarArea eHitArea);
31 virtual EScrollBarArea GetHitArea()const;
32
33 virtual int32_t GetScrollPos() const;
34 virtual void SetScrollPos(int32_t i32Pos);
35
36 virtual double GetOffsetPerPixel() const;
37
38 virtual const CRect GetScrollRect() const;
39
40 virtual bool IsLButtonDown() const;
41
42 virtual bool IsVisible() const;
43 virtual void Show(bool bShow);
44
45 virtual void UpdateScrollBar();
46
47 virtual void OnLButtonDown(const CPoint& ptPoint);
48 virtual void OnLButtonUp(const CPoint& ptPoint);
49 virtual void OnMouseMove(const CPoint& ptPoint);
50 virtual void OnMouseWheel(const CPoint& ptPoint, bool bUpWheel);
51
52 virtual void Draw(CDC* pDC) const;
53
54 protected:
55 CWnd* m_pParentWnd;
56
57 EScrollBarArea m_eScrollHit;
58 EOrientation m_eOrientation;
59
60 CPoint m_ptPointPrev;
61 CPoint m_ptLButtonDown;
62
63 POINT m_arrPtPrevArrow[3];
64 POINT m_arrPtNextArrow[3];
65
66 CRect m_rtBackground;
67 CRect m_rtThumb;
68 CRect m_rtPrevArrow;
69 CRect m_rtNextArrow;
70
71 int32_t m_i32ScrollRangeBegin;
72 int32_t m_i32ScrollRangeEnd;
73 int32_t m_i32ScrollRange;
74 int32_t m_i32ThumbSize;
75 int32_t m_i32ThumbSizeMin;
76 int32_t m_i32Pos;
77 int32_t m_i32PosOnLBtnDown;
78
79 double m_f64OffsetPerPixel;
80 bool m_bShow;
81 bool m_bLButtonDown;
82
83 mutable CPen m_penArrow;
84 mutable CPen m_penArrowHilight;
85 mutable CBrush m_brArrow;
86 mutable CBrush m_brArrowHilight;
87
88 COLORREF m_clrBackground;
89 COLORREF m_clrBackgroundHilight;
90 COLORREF m_clrThumb;
91 COLORREF m_clrThumbHilight;
92 COLORREF m_clrArrow;
93 COLORREF m_clrArrowHilight;
94 };
95 }
96}
EScrollBarArea
스크롤바 영역
Definition GUIDefinitions.h:9793
EOrientation
방향
Definition GUIDefinitions.h:5467
@ EOrientation_Vertical
수직 방향
Definition GUIDefinitions.h:5474