FLImaging 6.5.8.1
GUITabbedPane.h
1#pragma once
2
12namespace FLImaging
13{
15 namespace GUI
16 {
17 class CGUIPaneBase;
18 class CGUIMainFrame;
19
28 class CGUITabbedPane : public CTabbedPane, public Base::CFLBase
29 {
30 public:
37 CGUITabbedPane(BOOL bAutoDestroy = FALSE);
38
45 virtual ~CGUITabbedPane();
46 DECLARE_SERIAL(CGUITabbedPane)
47
48 public:
60 int32_t GetTabIndex(CWnd* pWndPane) const;
61
73 bool IsTabVisible(CWnd* pWndPane) const;
74
86 bool DeleteTab(int32_t i32TabNum);
87
98
109
120
132 bool HideTab(int32_t i32TabNum);
133
144
155
166
167 virtual void OnPressCloseButton()override;
168 virtual void RecalcLayout()override;
169 virtual void ShowPane(BOOL bShow, BOOL bDelay, BOOL bActivate/* = TRUE*/)override;
170 virtual BOOL FloatPane(CRect rectFloat, AFX_DOCK_METHOD dockMethod = DM_UNKNOWN, bool bShow = true) override;
171
172 DeclareGetClassType();
173
174 protected:
175 typedef struct sStateData
176 {
177 sStateData();
178 void Assign(const sStateData& rhs);
179
180 int32_t i32SerialNum;
181 int32_t i32TabCount;
182 int32_t i32ActiveTab;
183 int32_t i32ParentMiniFrameSerialNum;
184 DWORD dwCurrentAlignment;
185 CRect rtRect;
186 CMFCBaseTabCtrl::Location loc;
187 Base::CFLArray<Base::CFLString<wchar_t>> flaStrTabPaneSectionNames;
188 }
189 SStateData;
190
191 protected:
192 virtual bool CanSave() const;
193 virtual const SStateData& GetStateData() const;
194
195 static const CResult Read(SStateData& sdOut, Base::CFLArray<Base::CFLString<wchar_t>>& flaKey, Base::CFLArray<Base::CFLString<wchar_t>>& flaVal, const Base::CFLString<wchar_t>& strFilePath, const Base::CFLString<wchar_t>& strSectionName);
196 static const CResult Load(CGUITabbedPane* pTabbedPane, const SStateData& sSD, const Base::CFLArray<Base::CFLString<wchar_t>>& flaKey, const Base::CFLArray<Base::CFLString<wchar_t>>& flaVal);
197 static const CResult Write(CGUITabbedPane* pTabbedPane, const Base::CFLString<wchar_t>& strFilePath);
198
199 virtual bool IsLoadComplete() const;
200 virtual void MarkLoadComplete(bool bComplete);
201
202 virtual bool IsSaveComplete() const;
203 virtual void MarkSaveComplete(bool bComplete);
204
205 virtual void SetSerialNumber(int32_t i32Num);
206 virtual int32_t GetSerialNumber() const;
207
208 virtual CDockablePane* AttachToTabWnd(CDockablePane* pTabControlBarAttachTo, AFX_DOCK_METHOD dockMethod, BOOL bSetActive = TRUE, CDockablePane** ppTabbedControlBar = NULL) override;
209 virtual CTabbedPane* CreateTabbedPane() override;
210 virtual CPaneFrameWnd* CreateDefaultMiniframe(CRect rectInitial) override;
211 virtual void DrawCaption(CDC* pDC, CRect rectCaption)override;
212 virtual BOOL DockToWindow(CDockablePane* pTargetWindow, DWORD dwAlignment, LPCRECT lpRect = NULL) override;
213
214 protected:
215 CGUIPaneBase* m_pActivePanePrev;
216 CGUIMainFrame* m_pParentMainFrame;
217 int32_t m_i32SerialNum;
218
219 bool m_bSaveDone;
220 bool m_bLoadDone;
221 SStateData m_sStateData;
222
223 friend class CGUIManagerPane;
224 friend class CGUIPaneBase;
225
226 protected:
227 virtual void OnPressButtons(UINT nHit);
228 DECLARE_MESSAGE_MAP()
229 afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
230 afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
231 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
232 afx_msg void OnDestroy();
233 afx_msg BOOL OnEraseBkgnd(CDC* pDC);
234 afx_msg LRESULT OnChangeActiveTab(WPARAM wp, LPARAM lp);
235 afx_msg void OnSetFocus(CWnd* pOldWnd);
236 };
237 }
238}
Template type 의 배열 클래스.
Definition RangeTree.h:19
FLImaging의 최상위 기저 클래스
Definition FLBase.h:36
Template type 의 문자열 클래스
Definition INIUtilities.h:20
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1514
CGUITabbedPane 클래스는 GUI 애플리케이션에서 탭된 패널 컨트롤의 특수 구현입니다. 이 클래스는 CTabbedPane과 Base::CFLBase를 상속하여 탭을 관리하는...
Definition GUITabbedPane.h:29
bool DeleteAllTabsExceptActiveOne()
활성화된 탭을 제외한 모든 탭을 삭제합니다.
DECLARE_SERIAL(CGUITabbedPane) public bool IsTabVisible(CWnd *pWndPane) const
지정된 CWnd 개체를 포함하는 탭의 인덱스를 검색합니다.
bool DeleteAllTabs()
모든 탭을 삭제합니다.
bool DeleteTab(int32_t i32TabNum)
지정된 인덱스의 탭을 삭제합니다.
CGUITabbedPane(BOOL bAutoDestroy=FALSE)
기본 생성자
bool HideActiveTab()
현재 활성화된 탭을 숨깁니다.
bool HideAllTabsExceptActiveOne()
활성화된 탭을 제외한 모든 탭을 숨깁니다.
bool HideAllTabs()
모든 탭을 숨깁니다.
bool DeleteActiveTab()
현재 활성화된 탭을 삭제합니다.
bool HideTab(int32_t i32TabNum)
지정된 인덱스의 탭을 숨깁니다.
virtual ~CGUITabbedPane()
기본 소멸자