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;
90 int32_t GetSelectedItemIndex();
99 int32_t GetFocusedItemIndex();
110 void SelectItem(int32_t i32Idx, UINT state, UINT stateMask);
119 CRect GetBoundaryRect();
128 CGUIHeaderCtrl* GetHeaderCtrlSubclass();
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 array class.
Definition RangeTree.h:19
FLImaging module execution result object.
Definition ResultsDef.h:1514
ListControl classes in very many data to store.
Definition GUIListCtrlMassive.h:37
CGUIListCtrlMassive(const CGUIListCtrlMassive &rh)
Copy constructor.
virtual ~CGUIListCtrlMassive()
Default destructor.
CGUIListCtrlMassive()
constructor
CGUIListCtrlMassive(int32_t i32ItemCnt, CWnd *pParentWnd=nullptr)
constructor