+
+
+ @beginStyleTable
+ @style{wxHD_ALLOW_REORDER}
+ If this style is specified (it is by default), the user can reorder
+ the control columns by dragging them.
+ @style{wxHD_ALLOW_HIDE}
+ If this style is specified, the control shows a popup menu allowing the
+ user to change the columns visibility on right mouse click. Notice that
+ the program can always hide or show the columns, this style only
+ affects the users capability to do it.
+ @style{wxHD_DEFAULT_STYLE}
+ Symbolic name for the default control style, currently equal to
+ @c wxHD_ALLOW_REORDER.
+ @endStyleTable
+
+ @beginEventEmissionTable{wxHeaderCtrlEvent}
+ @event{EVT_HEADER_CLICK(id, func)}
+ A column heading was clicked.
+ @event{EVT_HEADER_RIGHT_CLICK(id, func)}
+ A column heading was right clicked.
+ @event{EVT_HEADER_MIDDLE_CLICK(id, func)}
+ A column heading was clicked with the middle mouse button.
+ @event{EVT_HEADER_DCLICK(id, func)}
+ A column heading was double clicked.
+ @event{EVT_HEADER_RIGHT_DCLICK(id, func)}
+ A column heading was right double clicked.
+ @event{EVT_HEADER_MIDDLE_DCLICK(id, func)}
+ A column heading was double clicked with the middle mouse button.
+ @event{EVT_HEADER_SEPARATOR_DCLICK(id, func)}
+ Separator to the right of the specified column was double clicked
+ (this action is commonly used to resize the column to fit its
+ contents width and the control provides UpdateColumnWidthToFit() method
+ to make implementing this easier).
+ @event{EVT_HEADER_BEGIN_RESIZE(id, func)}
+ The user started to drag the separator to the right of the column
+ with the specified index (this can only happen for the columns for
+ which wxHeaderColumn::IsResizeable() returns true). The event can
+ be vetoed to prevent the column from being resized. If it isn't,
+ the resizing and end resize (or dragging cancelled) events will be
+ generated later.
+ @event{EVT_HEADER_RESIZING(id, func)}
+ The user is dragging the column with the specified index resizing
+ it and its current width is wxHeaderCtrlEvent::GetWidth().
+ The event can be vetoed to stop the dragging operation completely at
+ any time.
+ @event{EVT_HEADER_END_RESIZE(id, func)}
+ The user stopped dragging the column by releasing the mouse.
+ The column should normally be resized to the value of
+ wxHeaderCtrlEvent::GetWidth().
+ @event{EVT_HEADER_BEGIN_REORDER(id, func)}
+ The user started to drag the column with the specified index (this
+ can only happen for the controls with wxHD_ALLOW_REORDER style).
+ This event can be vetoed to prevent the column from being reordered,
+ otherwise the end reorder message will be generated later.
+ @event{EVT_HEADER_END_REORDER(id, func)}
+ The user dropped the column in its new location. The event can be
+ vetoed to prevent the column from being placed at the new position
+ or handled to update the display of the data in the associated
+ control to match the new column location (available from
+ wxHeaderCtrlEvent::GetNewOrder()).
+ @event{EVT_HEADER_DRAGGING_CANCELLED(id, func)}
+ The resizing or reordering operation currently in progress was
+ cancelled. This can happen if the user pressed Esc key while
+ dragging the mouse or the mouse capture was lost for some other
+ reason. You only need to handle this event if your application
+ entered into some modal mode when resizing or reordering began, in
+ which case it should handle this event in addition to the matching
+ end resizing or reordering ones.
+ @endEventTable
+
+ @library{wxcore}
+ @category{ctrl}
+
+ @see wxGrid, wxListCtrl, wxDataViewCtrl