xtd.forms - Reference Guide  0.1.0
Modern c++17 library containing classes for creating Windows-based applications that take full advantage of the rich user interface features available in the Microsoft Windows, Apple macOS and Linux like Ubuntu operating system.
xtd::forms::checked_list_box Class Reference

Displays a list_box in which a check box is displayed to the left of each item. More...

#include <checked_list_box.hpp>

Inheritance diagram for xtd::forms::checked_list_box:
xtd::forms::list_box xtd::forms::list_control xtd::forms::control xtd::forms::component xtd::forms::iwin32_window

Classes

class  item
 

Public Types

using checked_index_collection = std::vector< size_t >
 Encapsulates the collection of indexes of checked items (including items in an indeterminate state) More...
 
using checked_item_collection = std::vector< item >
 Encapsulates the collection of checked items, including items in an indeterminate state, in a checked_list_box control. More...
 
using object_collection = layout::arranged_element_collection< item >
 Represents the collection of items in a checked_list_box. More...
 
- Public Types inherited from xtd::forms::list_control
using item_collection = layout::arranged_element_collection< item, item::sorter >
 
- Public Types inherited from xtd::forms::control
using control_collection = layout::arranged_element_collection< control_ref >
 Represents a collection of controls. More...
 

Public Member Functions

 checked_list_box ()
 Initializes a new instance of the checked_list_box class. More...
 
void begin_update ()
 
checked_index_collection checked_indices () const
 Collection of checked indexes in this checked_list_box. More...
 
checked_item_collection checked_items () const
 
void end_update ()
 
forms::check_state get_item_check_state (size_t index) const
 
bool get_item_checked (size_t index) const
 
const ustringget_item_text (size_t index) const
 
object_collectionitems ()
 
const object_collectionitems () const
 
const list_boxitems (const object_collection &items)
 
list_controlselected_index (size_t selected_index) override
 When overridden in a derived class, Sets the zero-based index of the currently selected item. More...
 
std::vector< size_t > selected_indices () const override
 
const itemselected_item () const
 
list_boxselected_item (const item &selected_item)
 
std::vector< itemselected_items () const
 
void set_item_check_state (size_t index, forms::check_state check_state)
 
void set_item_checked (size_t index, bool checked)
 
void set_item_text (size_t index, const ustring &text)
 
controltext (const ustring &text) override
 
- Public Member Functions inherited from xtd::forms::list_box
void begin_update ()
 
virtual forms::border_style border_style () const
 
virtual list_boxborder_style (forms::border_style border_style)
 
virtual drawing::size default_size () const override
 
void end_update ()
 
item_collectionitems ()
 
const item_collectionitems () const
 
const list_boxitems (const item_collection &items)
 
list_controlselected_index (size_t selected_index) override
 When overridden in a derived class, Sets the zero-based index of the currently selected item. More...
 
const item & selected_item () const
 
list_boxselected_item (const item &selected_item)
 
std::vector< item > selected_items () const
 
virtual forms::selection_mode selection_mode () const
 
virtual list_boxselection_mode (forms::selection_mode selection_mode)
 
virtual bool sorted () const
 
virtual list_boxsorted (bool sorted)
 
controltext (const ustring &text) override
 
- Public Member Functions inherited from xtd::forms::list_control
virtual size_t selected_index () const
 Gets the zero-based index of the currently selected item. More...
 
virtual ustring value_member () const
 
virtual list_controlvalue_member (const ustring &value_member)
 
- Public Member Functions inherited from xtd::forms::control
 control ()
 Initializes a new instance of the Control class with default settings. More...
 
 control (const ustring &text)
 Initializes a new instance of the control class with specific text. More...
 
 control (const control &parent, const ustring &text)
 nitializes a new instance of the control class as a child control, with specific text. More...
 
 control (const ustring &text, int32_t left, int32_t top, int32_t width, int32_t height)
 Initializes a new instance of the control class with specific text, size, and location. More...
 
 control (const control &parent, const ustring &text, int32_t left, int32_t top, int32_t width, int32_t height)
 Initializes a new instance of the control class as a child control, with specific text, size, and location. More...
 
virtual anchor_styles anchor () const
 Gets the edges of the container to which a control is bound and determines how a control is resized with its parent. More...
 
virtual controlanchor (anchor_styles anchor)
 Gets the edges of the container to which a control is bound and determines how a control is resized with its parent. More...
 
virtual drawing::point auto_scroll_point () const
 Gets where this control is scrolled to in scroll_control_into_view(control). More...
 
virtual bool auto_size () const
 Gets a value that indicates whether the control resizes based on its contents. More...
 
virtual controlauto_size (bool auto_size)
 Sets a value that indicates whether the control resizes based on its contents. More...
 
virtual drawing::color back_color () const
 Gets the background color for the control. More...
 
virtual controlback_color (const drawing::color &color)
 Sets the background color for the control. More...
 
virtual int32_t bottom () const
 Gets the distance, in pixels, between the bottom edge of the control and the top edge of its container's client area. More...
 
virtual drawing::rectangle bounds () const
 Gets the size and location of the control including its nonclient elements, in pixels, relative to the parent control. More...
 
virtual controlbounds (const drawing::rectangle &bounds)
 Sets the size and location of the control including its nonclient elements, in pixels, relative to the parent control. More...
 
virtual bool can_focus () const
 Gets a value indicating whether the control can receive focus. More...
 
bool can_raise_events () const override
 Determines if events can be raised on the control. More...
 
virtual bool can_select () const
 Gets a value indicating whether the control can be selected. More...
 
virtual const drawing::rectangleclient_rectangle () const
 Gets the rectangle that represents the client area of the control. More...
 
virtual const drawing::sizeclient_size () const
 Gets the height and width of the client area of the control. More...
 
virtual controlclient_size (const drawing::size &client_size)
 Sets the height and width of the client area of the control. More...
 
virtual ustring compagny_name () const
 Gets the name of the company or creator of the application containing the control. More...
 
virtual control_collectioncontrols ()
 Gets the collection of controls contained within the control. More...
 
virtual const control_collectioncontrols () const
 Gets the collection of controls contained within the control. More...
 
void create_control ()
 
drawing::graphics create_graphics () const
 
virtual void create_handle ()
 
virtual bool created ()
 Gets a value indicating whether the control has been created. More...
 
virtual forms::cursor cursor () const
 
virtual controlcursor (const forms::cursor &cursor)
 
virtual forms::cursor default_cursor () const
 
virtual drawing::font default_font () const
 
void destroy_control ()
 
virtual void destroy_handle ()
 
virtual drawing::rectangle display_rectangle () const
 
virtual dock_style dock () const
 Gets or sets which control borders are docked to its parent control and determines how a control is resized with its parent. More...
 
virtual controldock (dock_style dock)
 
virtual bool enabled () const
 
virtual controlenabled (bool enabled)
 
bool focus ()
 
virtual bool focused () const
 
virtual drawing::font font () const
 
virtual controlfont (const drawing::font &font)
 
virtual drawing::color fore_color () const
 
virtual controlfore_color (const drawing::color &color)
 
intptr_t handle () const override
 Gets the handle to the window represented by the implementer. More...
 
virtual int32_t height () const
 
virtual controlheight (int32_t height)
 
virtual void hide ()
 
virtual void invalidate () const
 
virtual void invalidate (bool invalidate_children) const
 
virtual void invalidate (const drawing::rectangle &rect) const
 
virtual void invalidate (const drawing::rectangle &rect, bool invalidate_children) const
 
void invoke (delegate< void(std::vector< std::any >)> value, const std::vector< std::any > &args)
 
void invoke (delegate< void()> value)
 
bool is_handle_created () const
 
virtual int32_t left () const
 
virtual controlleft (int32_t left)
 
virtual drawing::point location () const
 
virtual controllocation (const drawing::point &location)
 
virtual const ustringname () const
 
virtual controlname (const ustring &name)
 
virtual std::optional< control_refparent () const
 
virtual controlparent (const control &parent)
 
virtual controlparent (std::nullptr_t)
 
void perform_layout ()
 Forces the control to apply layout logic to all its child controls. More...
 
xtd::drawing::point point_to_client (const xtd::drawing::point &p)
 
xtd::drawing::point point_to_screen (const xtd::drawing::point &p)
 
virtual ustring product_name () const
 
bool recreating_handle () const
 
virtual void refresh () const
 
void resume_layout ()
 Resumes usual layout logic. More...
 
void resume_layout (bool perform_layout)
 Resumes usual layout logic, optionally forcing an immediate layout of pending layout requests. More...
 
virtual int32_t right () const
 
intptr_t send_message (intptr_t hwnd, int32_t msg, intptr_t wparam, intptr_t lparam) const
 
void set_auto_size_mode (auto_size_mode auto_size_mode)
 
void set_bounds (int32_t x, int32_t y, int32_t width, int32_t height)
 
void set_bounds (int32_t x, int32_t y, int32_t width, int32_t height, bounds_specified specified)
 
virtual void show ()
 
virtual drawing::size size () const
 
virtual controlsize (const drawing::size &size)
 
void suspend_layout ()
 Temporarily suspends the layout logic for the control. More...
 
virtual std::any tag () const
 Gets the object that contains data about the control. More...
 
virtual controltag (std::any tag)
 Sets the object that contains data about the control. More...
 
virtual const ustringtext () const
 
virtual ustring to_string () const
 
virtual int32_t top () const
 
virtual controltop (int32_t top)
 
virtual std::optional< control_reftop_level_control () const
 
virtual void update () const
 
virtual bool visible () const
 
virtual controlvisible (bool visible)
 
virtual int32_t width () const
 
virtual controlwidth (int32_t width)
 

Public Attributes

event< checked_list_box, item_check_event_handler< control & > > item_check
 
- Public Attributes inherited from xtd::forms::list_control
event< list_control, event_handler< control & > > selected_index_changed
 
event< list_control, event_handler< control & > > selected_value_changed
 
event< list_control, event_handler< control & > > value_member_changed
 
- Public Attributes inherited from xtd::forms::control
event< control, event_handler< control & > > auto_size_changed
 
event< control, event_handler< control & > > back_color_changed
 
event< control, event_handler< control & > > click
 
event< control, event_handler< control & > > client_size_changed
 
event< control, control_event_handler< control & > > control_added
 
event< control, control_event_handler< control & > > control_removed
 
event< control, event_handler< control & > > cursor_changed
 
event< control, event_handler< control & > > dock_changed
 
event< control, event_handler< control & > > double_click
 
event< control, event_handler< control & > > enabled_changed
 
event< control, event_handler< control & > > font_changed
 
event< control, event_handler< control & > > fore_color_changed
 
event< control, event_handler< control & > > got_focus
 
event< control, event_handler< control & > > handle_created
 
event< control, event_handler< control & > > handle_destroyed
 
event< control, key_event_handler< control & > > key_down
 
event< control, key_press_event_handler< control & > > key_press
 
event< control, key_event_handler< control & > > key_up
 
event< control, event_handler< control & > > layout
 Occurs when a control should reposition its child controls. More...
 
event< control, event_handler< control & > > location_changed
 
event< control, event_handler< control & > > lost_focus
 
event< control, mouse_event_handler< control & > > mouse_click
 
event< control, mouse_event_handler< control & > > mouse_double_click
 
event< control, mouse_event_handler< control & > > mouse_down
 
event< control, event_handler< control & > > mouse_enter
 
event< control, mouse_event_handler< control & > > mouse_horizontal_wheel
 
event< control, event_handler< control & > > mouse_leave
 
event< control, mouse_event_handler< control & > > mouse_move
 
event< control, mouse_event_handler< control & > > mouse_up
 
event< control, mouse_event_handler< control & > > mouse_wheel
 
event< control, paint_event_handler< control & > > paint
 
event< control, event_handler< control & > > parent_changed
 
event< control, event_handler< control & > > resize
 
event< control, event_handler< control & > > size_changed
 
event< control, event_handler< control & > > text_changed
 
event< control, event_handler< control & > > visible_changed
 

Protected Member Functions

bool allow_selection () override
 Gets a value indicating whether the list enables selection of list items. More...
 
forms::create_params create_params () const override
 Gets the required creation parameters when the control handle is created. More...
 
void on_handle_created (const event_args &e) override
 
virtual void on_item_check (item_check_event_args &e)
 
void on_selected_value_changed (const event_args &e) override
 
void wm_mouse_double_click (message &message) override
 
void wm_mouse_down (message &message) override
 
void wm_mouse_up (message &message) override
 
void wm_reflect_command (message &message) override
 
void wnd_proc (message &message) override
 Processes Windows messages. More...
 
- Protected Member Functions inherited from xtd::forms::list_box
bool allow_selection () override
 Gets a value indicating whether the list enables selection of list items. More...
 
forms::create_params create_params () const override
 Gets the required creation parameters when the control handle is created. More...
 
void on_handle_created (const event_args &e) override
 
void on_selected_value_changed (const event_args &e) override
 
void wnd_proc (message &message) override
 Processes Windows messages. More...
 
- Protected Member Functions inherited from xtd::forms::list_control
virtual drawing::color default_back_color () const override
 Gets the default background color of the control. More...
 
virtual drawing::color default_fore_color () const override
 
virtual void on_selected_index_changed (const event_args &e)
 
virtual void on_value_member_changed (const event_args &e)
 
- Protected Member Functions inherited from xtd::forms::control
virtual void def_wnd_proc (message &message)
 
bool get_style (control_styles flag) const
 Retrieves the value of the specified control style bit for the control. More...
 
virtual drawing::size measure_control () const
 Measure this control. More...
 
drawing::size measure_text () const
 
virtual void on_auto_size_changed (const event_args &e)
 
virtual void on_back_color_changed (const event_args &e)
 
virtual void on_click (const event_args &e)
 
virtual void on_client_size_changed (const event_args &e)
 
virtual void on_control_added (const control_event_args &e)
 
virtual void on_control_removed (const control_event_args &e)
 
virtual void on_create_control ()
 
virtual void on_cursor_changed (const event_args &e)
 
virtual void on_dock_changed (const event_args &e)
 
virtual void on_double_click (const event_args &e)
 
virtual void on_enabled_changed (const event_args &e)
 
virtual void on_font_changed (const event_args &e)
 
virtual void on_fore_color_changed (const event_args &e)
 
virtual void on_got_focus (const event_args &e)
 
virtual void on_handle_destroyed (const event_args &e)
 
virtual void on_key_down (key_event_args &e)
 
virtual void on_key_press (key_press_event_args &e)
 
virtual void on_key_up (key_event_args &e)
 
virtual void on_layout (const event_args &e)
 
virtual void on_location_changed (const event_args &e)
 
virtual void on_lost_focus (const event_args &e)
 
virtual void on_mouse_click (const mouse_event_args &e)
 
virtual void on_mouse_double_click (const mouse_event_args &e)
 
virtual void on_mouse_down (const mouse_event_args &e)
 
virtual void on_mouse_enter (const event_args &e)
 
virtual void on_mouse_horizontal_wheel (const mouse_event_args &e)
 
virtual void on_mouse_leave (const event_args &e)
 
virtual void on_mouse_move (const mouse_event_args &e)
 
virtual void on_mouse_up (const mouse_event_args &e)
 
virtual void on_mouse_wheel (const mouse_event_args &e)
 
virtual void on_paint (paint_event_args &e)
 
virtual void on_parent_back_color_changed (const event_args &e)
 
virtual void on_parent_changed (const event_args &e)
 
virtual void on_parent_cursor_changed (const event_args &e)
 
virtual void on_parent_font_changed (const event_args &e)
 
virtual void on_parent_fore_color_changed (const event_args &e)
 
virtual void on_resize (const event_args &e)
 
virtual void on_size_changed (const event_args &e)
 
virtual void on_text_changed (const event_args &e)
 
virtual void on_visible_changed (const event_args &e)
 
virtual void recreate_handle ()
 
virtual void set_bounds_core (int32_t x, int32_t y, int32_t width, int32_t height, bounds_specified specified)
 Performs the work of setting the specified bounds of this control. More...
 
virtual void set_client_size_core (int32_t width, int32_t height)
 Sets the size of the client area of the control. More...
 
void set_style (control_styles flag, bool value)
 Sets a specified control_styles flag to either true or false. More...
 
- Protected Member Functions inherited from xtd::forms::component
bool design_mode () const
 Gets a value that indicates whether the component is currently in design mode. More...
 

Protected Attributes

object_collection items_
 
item selected_item_
 
- Protected Attributes inherited from xtd::forms::list_box
forms::border_style border_style_ = forms::border_style::fixed_single
 
item_collection items_
 
item selected_item_
 
forms::selection_mode selection_mode_ = forms::selection_mode::one
 
bool sorted_ = false
 

Additional Inherited Members

- Static Public Member Functions inherited from xtd::forms::control
template<typename control_t >
static std::unique_ptr< control_t > create (const drawing::point &location={-1, -1}, const drawing::size &size={-1, -1}, const drawing::color &back_color=drawing::color::empty, const drawing::color &fore_color=drawing::color::empty)
 
template<typename control_t >
static std::unique_ptr< control_t > create (const control &parent, const drawing::point &location={-1, -1}, const drawing::size &size={-1, -1}, const drawing::color &back_color=drawing::color::empty, const drawing::color &fore_color=drawing::color::empty)
 
template<typename control_t >
static std::unique_ptr< control_t > create (const ustring &text, const drawing::point &location={-1, -1}, const drawing::size &size={-1, -1}, const drawing::color &back_color=drawing::color::empty, const drawing::color &fore_color=drawing::color::empty)
 
template<typename control_t >
static std::unique_ptr< control_t > create (const control &parent, const ustring &text, const drawing::point &location={-1, -1}, const drawing::size &size={-1, -1}, const drawing::color &back_color=drawing::color::empty, const drawing::color &fore_color=drawing::color::empty)
 
static std::optional< control_reffrom_child_handle (intptr_t handle)
 
static std::optional< control_reffrom_handle (intptr_t handle)
 
static forms::mouse_buttons mouse_buttons ()
 

Detailed Description

Displays a list_box in which a check box is displayed to the left of each item.

Remarks
This control presents a list of items that the user can navigate by using the keyboard or the scrollbar on the right side of the control. The user can place a check mark by one or more items and the checked items can be navigated with the checked_list_box::checked_item_collection and checked_list_box::checked_index_collection.
To add objects to the list at run time, assign an array of object with the push_range method. The list then displays the default string value for each object. You can add individual items to the list with the push method.
The checked_list_box object supports three states through the check_state enumeration: checked, indeterminate, and unchecked. You must set the state of indeterminate in the code because the user interface for a checked_list_box does not provide a mechanism to do so.
If use_tab_stops is true, the checked_list_box will recognize and expand tab characters in an item's text, creating columns. These tab stops are preset and cannot be changed. To use custom tab stops, set use_tab_stops to false, set use_custom_tab_offsets to true, and add the custom values to the custom_tab_offsets collection.
Note
If the use_compatible_text_rendering property is false, the custom_tab_offsets property will be ignored and replaced with standard tab offsets.

Member Typedef Documentation

§ checked_index_collection

Encapsulates the collection of indexes of checked items (including items in an indeterminate state)

§ checked_item_collection

Encapsulates the collection of checked items, including items in an indeterminate state, in a checked_list_box control.

§ object_collection

Constructor & Destructor Documentation

§ checked_list_box()

xtd::forms::checked_list_box::checked_list_box ( )

Initializes a new instance of the checked_list_box class.

Remarks
By default, checked_list_box uses set_style and the resize_redraw value of control_styles to specify that the control is redrawn when resized.

Member Function Documentation

§ allow_selection()

bool xtd::forms::checked_list_box::allow_selection ( )
inlineoverrideprotectedvirtual

Gets a value indicating whether the list enables selection of list items.

Returns
true if the list enables list item selection; otherwise, false. The default is true.

Reimplemented from xtd::forms::list_control.

§ checked_indices()

checked_index_collection xtd::forms::checked_list_box::checked_indices ( ) const

Collection of checked indexes in this checked_list_box.

Returns
The checked_list_box::checked_index_collection collection for the checked_list_box.
Remarks
The collection of checked indexes is a subset of the indexes into the collection of all items in the checked_list_box control. These indexes specify items in a checked or indeterminate state.

§ create_params()

forms::create_params xtd::forms::checked_list_box::create_params ( ) const
overrideprotectedvirtual

Gets the required creation parameters when the control handle is created.

Returns
A create_params that contains the required creation parameters when the handle to the control is created.
Remarks
The create_params property should not be overridden and used to adjust the properties of your derived control. Properties such as the create_params::caption, create_params::width, and create_params::height should be set by the corresponding properties in your control such as control::text, control::width and control::height. The create_params should only be extended when you are wrapping a standard Windows control class or to set styles not provided by the forms namespace.
Notes for inheritors
When overriding the create_params property in a derived class, use the base class's create_params property to extend the base implementation. Otherwise, you must provide all the implementation.

Reimplemented from xtd::forms::control.

§ selected_index()

list_control& xtd::forms::checked_list_box::selected_index ( size_t  selected_index)
overridevirtual

When overridden in a derived class, Sets the zero-based index of the currently selected item.

Parameters
selected_indexA zero-based index of the currently selected item. A value of negative one (-1) is returned if no item is selected.

Implements xtd::forms::list_control.

§ wnd_proc()

void xtd::forms::checked_list_box::wnd_proc ( message m)
overrideprotectedvirtual

Processes Windows messages.

Parameters
mThe Windows Message to process.
Remarks
All messages are sent to the wnd°proc method after getting filtered through the pre_process_message method.
Notes to Inheritors
Inheriting controls should call the base class's wnd_proc(message&) method to process any messages that they do not handle.

Reimplemented from xtd::forms::control.


The documentation for this class was generated from the following file: