FLImaging 6.5.8.1
GUIChildFrameBase.h
1
2// ChildFrm.h: CGUIChildFrameBase 클래스의 인터페이스
3//
4
5#pragma once
6#include "GUIDefinitionsResource.h"
7
8namespace FLImaging
9{
10 namespace GUI
11 {
12 class CGUIManagerView;
13
14 class FL_EXPORT CGUIChildFrameBase : public CMDIChildWndEx
15 {
16 DECLARE_DYNCREATE(CGUIChildFrameBase)
17 public:
18 CGUIChildFrameBase() noexcept;
19 CGUIChildFrameBase(const CGUIChildFrameBase& rhs);
20
21 // 구현입니다.
22 public:
23 virtual ~CGUIChildFrameBase();
24#ifdef _DEBUG
25 virtual void AssertValid() const;
26 virtual void Dump(CDumpContext& dc) const;
27#endif
28// 생성된 메시지 맵 함수
29 protected:
30 DECLARE_MESSAGE_MAP()
31 public:
32 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
33 virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
34 afx_msg void OnClose();
35 afx_msg void OnNcPaint();
36 afx_msg void OnSize(UINT nType, int cx, int cy);
37 afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point);
38 afx_msg void OnNcMouseMove(UINT nHitTest, CPoint point);
39 afx_msg void OnNcLButtonUp(UINT nHitTest, CPoint point);
40 afx_msg BOOL OnNcActivate(BOOL bActive);
41 afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
42 afx_msg void OnMinimizeWnd();
43 afx_msg void OnMaximizeWnd();
44 afx_msg void OnCloseWnd();
45
46 public:
47 bool IsCreated();
48 bool IsActive();
49 bool IsEdgeChanged();
50 void UpdateTheme();
51 virtual void GetMessageString(UINT nID, Base::CFLString<wchar_t>& rMessage) const;
52
53 void SetFixedTitle(bool bFixedTitle);
54 bool IsFixedTitle();
55
56 bool IsFrameMinimized();
57
58 virtual void SetMinimumSize(int32_t i32Width, int32_t i32Height);
59
60 protected:
61 //더블 버퍼링 구현에 사용할 변수
62 CRect m_rc;
63 CDC m_memDC;
64 CBitmap* m_pBmpOld;
65 CBitmap* m_pBmp;
66
67 bool m_bEdgeChanged;
68
69 bool m_bCreated;
70
71 int32_t m_i32MinWidth;
72 int32_t m_i32MinHeight;
73 CPoint m_ptScreenPrev;
74
75 std::vector<CRect>& m_vctRtSysBtn;
76 std::vector<EResourceIdBitmap>& m_vctBmpRes;
77 std::vector<EResourceIdBitmap>& m_vctBmpResHovering;
78 std::vector<EResourceIdBitmap>& m_vctBmpResClicked;
79
80 int32_t m_i32HoveringBtn;
81 int32_t m_i32HoveringBtnBf;
82
83 int32_t m_i32NcHit;
84 bool m_bNcLButtonDown;
85 COLORREF m_clrBorder;
86 bool m_bActive;
87 public:
88 afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
89 afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
90 afx_msg void OnMouseMove(UINT nFlags, CPoint point);
91 afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
92 afx_msg void OnUpdateIdbFrameClose(CCmdUI* pCmdUI);
93 afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);
94 afx_msg void OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd);
95 afx_msg void OnDestroy();
96 afx_msg LRESULT OnNcHitTest(CPoint point);
97
98 friend class CGUIManagerView;
99};
100 }
101}