9#include "GUIWndCtrlBase.h"
18 class FL_EXPORT CGUIHeaderCtrl :
public CHeaderCtrl
22 virtual ~CGUIHeaderCtrl();
25 afx_msg
void OnNMCustomdraw(NMHDR* pNMHDR, LRESULT* pResult);
26 afx_msg BOOL OnEraseBkgnd(CDC* pDC);
27 virtual
void PreSubclassWindow();
39 typedef struct sDropItem
42 int32_t i32Destination;
130 HWND CreateListCtrl(CWnd* pParentWnd);
131 HWND CreateListCtrl(CWnd* pParentWnd, DWORD dwStyle);
132 void ResizeListCtrl(CWnd* pParentWnd);
135 BOOL InsertAllItems();
136 void PositionHeader();
137 virtual LRESULT ListViewNotify(LPARAM lParam);
139 int InsertColumn(_In_
int nCol, _In_z_ LPCTSTR lpszColumnHeading,
140 _In_
int nFormat = LVCFMT_LEFT, _In_
int nWidth = -1, _In_
int nSubItem = -1);
142 int InsertItem(_In_
int nItem, _In_z_ LPCTSTR lpszItem);
144 int DeleteItem(_In_
int nItem);
146 BOOL SetItem(_In_
int nItem, _In_
int nSubItem, _In_ UINT nMask, _In_opt_z_ LPCTSTR lpszItem, _In_
int nImage, _In_ UINT nState, _In_ UINT nStateMask, _In_ LPARAM lParam);
148 virtual const CResult SetItemText(int32_t i32Row, int32_t i32Column,
const wchar_t* pWcsText);
150 int GetRowFromPoint(CPoint& point,
int* col)
const;
152 virtual BOOL DeleteAllItems();
153 virtual void EnableEdit(
bool bEnable);
154 virtual void EnableEditColumn(
bool bEnable,
const int32_t i32Column);
156 virtual void EnableEditRow(
bool bEnable,
const int32_t i32Row);
158 virtual bool IsEditEnabled(int32_t i32Row, int32_t i32Column)
const;
159 virtual bool IsEditEnabledRow(int32_t i32Row)
const;
160 virtual bool IsEditEnabledColumn(
const int32_t i32Column)
const;
162 virtual bool IsColumnVisible(
const int32_t i32Column)
const;
163 virtual void ShowColumn(
const int32_t i32Column,
bool bShow);
166 virtual bool IsDragAndDropEnabled()
const;
167 virtual void EnableDragAndDrop(
bool bEnable);
171 virtual void RedrawScrollBarPosition(
bool bVScrollBar =
true);
174 virtual CEdit* EditSubLabel(
int nItem,
int nCol);
175 virtual void OnBeginDrag(NMHDR* pNMHDR, LRESULT* pResult);
177 virtual int32_t GetMouseScrollMode(int32_t* pI32DeltaY =
nullptr);
178 virtual void AutoScroll();
179 virtual void DestroyDragImage();
182 int32_t m_i32ItemCnt;
184 std::vector<Base::CFLString<wchar_t>>& m_vctColumn;
185 std::vector<int>& m_vctColumnWidth;
186 std::vector<bool>& m_vctEnableEditColumn;
187 std::vector<bool>& m_vctColumnVisibility;
189 std::vector<Base::CFLString<wchar_t>>& m_vctRow;
190 std::vector<bool>& m_vctEnableEditRows;
192 std::vector<std::vector<Base::CFLString<wchar_t>> >& m_vct2Item;
194 CBrush m_brBackground;
196 CGUIHeaderCtrl* m_pCtrlHeader;
197 CEdit* m_pInPlaceEdit;
199 bool m_bDragAndDropEnabled;
200 CImageList* m_pDragImage;
202 bool m_bSetFirstColIndex;
203 int32_t m_i32DragIndex;
204 int32_t m_i32DropIndex;
205 int32_t m_i32MovingRegion;
207 friend class CGUIDialogImagePageList;
210 DECLARE_MESSAGE_MAP()
211 afx_msg
void OnMouseMove(UINT nFlags, CPoint point);
212 afx_msg
void OnLButtonUp(UINT nFlags, CPoint point);
213 afx_msg
void OnLButtonDblClk(UINT nFlags, CPoint point);
214 afx_msg BOOL OnEraseBkgnd(CDC* pDC);
215 afx_msg
void OnNMCustomdraw(NMHDR* pNMHDR, LRESULT* pResult);
216 afx_msg
void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
217 void OnEndLabelEdit(NMHDR* pNMHDR, LRESULT* pResult);
218 afx_msg
int OnCreate(LPCREATESTRUCT lpCreateStruct);
219 afx_msg
void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
220 afx_msg BOOL OnMouseWheel(UINT nFlags,
short zDelta, CPoint pt);
221 LRESULT OnEditDestroyed(WPARAM wParam, LPARAM lParam);
222 virtual BOOL PreTranslateMessage(MSG* pMsg);
223 virtual
void PreSubclassWindow();
224 afx_msg
void OnCaptureChanged(CWnd* pWnd);
Template type 의 배열 클래스.
Definition RangeTree.h:19
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1514
저장할 데이터가 매우 많은 경우의 리스트 컨트롤 클래스
Definition GUIListCtrlMassive.h:37
CGUIListCtrlMassive(const CGUIListCtrlMassive &rh)
복사 생성자
void SelectItem(int32_t i32Idx, UINT state, UINT stateMask)
아이템을 선택 또는 포커스하는 함수
int32_t GetSelectedItemIndex()
선택된 아이템 인덱스를 얻어 오는 함수
virtual ~CGUIListCtrlMassive()
기본 소멸자
CRect GetBoundaryRect()
리스트컨트롤의 사각형을 얻어 오는 함수
CGUIListCtrlMassive()
기본 생성자
CGUIHeaderCtrl * GetHeaderCtrlSubclass()
CGUIHeaderCtrl 클래스로 서브클래싱 된 헤더컨트롤 포인터를 얻어 오는 함수
int32_t GetFocusedItemIndex()
선택된 아이템 인덱스를 얻어 오는 함수
CGUIListCtrlMassive(int32_t i32ItemCnt, CWnd *pParentWnd=nullptr)
생성자