xtd - Reference Guide
0.1.0
Modern c++17/20 framework to create console, GUI and unit test applications on Windows, macOS, Linux, iOS and android.
|
#include <control.h>
Defines the base class for controls, which are components with visual representation.
Inherits xtd::forms::component, and xtd::forms::iwin32_window.
Inherited by xtd::forms::animation, xtd::forms::button_base, xtd::forms::collapsible_panel, xtd::forms::color_picker, xtd::forms::date_time_picker, xtd::forms::dot_matrix_display, xtd::forms::font_picker, xtd::forms::group_box, xtd::forms::label, xtd::forms::lcd_label, xtd::forms::list_control, xtd::forms::loading_indicator, xtd::forms::picture_box, xtd::forms::progress_bar, xtd::forms::scroll_bar, xtd::forms::scrollable_control, xtd::forms::seven_segment_display, xtd::forms::splitter, xtd::forms::tab_control, xtd::forms::text_box_base, and xtd::forms::track_bar.
Classes | |
class | async_result_invoke |
class | control_collection |
Represents a collection of controls. More... | |
Public Attributes | |
event< control, event_handler > | auto_size_changed |
Occurs when the value of the auto_size property changes. | |
event< control, event_handler > | back_color_changed |
Occurs when the value of the back_color property changes. | |
event< control, event_handler > | background_image_changed |
Occurs when the value of the background_image property changes. | |
event< control, event_handler > | background_image_layout_changed |
Occurs when the value of the background_image_layout property changes. | |
event< control, event_handler > | click |
Occurs when the control is clicked. | |
event< control, event_handler > | client_size_changed |
Occurs when the value of the client_size property changes. | |
event< control, control_event_handler > | control_added |
Occurs when a new control is added to the control::control_collection. | |
event< control, control_event_handler > | control_removed |
Occurs when a new control is removed to the control::control_collection. | |
event< control, event_handler > | cursor_changed |
Occurs when the value of the cursor property changes. | |
event< control, event_handler > | dock_changed |
Occurs when the value of the dock property changes. | |
event< control, event_handler > | double_click |
Occurs when the control is double-clicked. | |
event< control, event_handler > | enabled_changed |
Occurs when the value of the enabled property changes. | |
event< control, event_handler > | font_changed |
Occurs when the value of the font property changes. | |
event< control, event_handler > | fore_color_changed |
Occurs when the value of the fore_color property changes. | |
event< control, event_handler > | got_focus |
Occurs when the control receives focus. | |
event< control, event_handler > | handle_created |
Occurs when a handle is created for the control. | |
event< control, event_handler > | handle_destroyed |
Occurs when the control's handle is in the process of being destroyed. | |
event< control, key_event_handler > | key_down |
Occurs when a key is pressed while the control has focus. | |
event< control, key_press_event_handler > | key_press |
Occurs when a character. space or backspace key is pressed while the control has focus. | |
event< control, key_event_handler > | key_up |
Occurs when a key is released while the control has focus. | |
event< control, event_handler > | layout |
Occurs when a control should reposition its child controls. | |
event< control, event_handler > | location_changed |
Occurs when the value of the location property changes. | |
event< control, event_handler > | lost_focus |
Occurs when the control loses focus. | |
event< control, mouse_event_handler > | mouse_click |
Occurs when the control is clicked by the mouse. | |
event< control, mouse_event_handler > | mouse_double_click |
Occurs when the control is double clicked by the mouse. | |
event< control, mouse_event_handler > | mouse_down |
Occurs when the mouse pointer is over the control and a mouse button is pressed. | |
event< control, event_handler > | mouse_enter |
Occurs when the mouse pointer enters the control. | |
event< control, mouse_event_handler > | mouse_horizontal_wheel |
Occurs when the mouse horizontal wheel moves while the control has focus. | |
event< control, event_handler > | mouse_leave |
Occurs when the mouse pointer leaves the control. | |
event< control, mouse_event_handler > | mouse_move |
Occurs when the mouse pointer is moved over the control. | |
event< control, mouse_event_handler > | mouse_up |
Occurs when the mouse pointer is over the control and a mouse button is released. | |
event< control, mouse_event_handler > | mouse_wheel |
Occurs when the mouse wheel moves while the control has focus. | |
event< control, paint_event_handler > | paint |
Occurs when the control is redrawn. | |
event< control, event_handler > | parent_changed |
Occurs when the value of the parent property changes. | |
event< control, event_handler > | resize |
Occurs when the control is resized. | |
event< control, event_handler > | size_changed |
Occurs when the value of the size property changes. | |
event< control, event_handler > | text_changed |
Occurs when the value of the text property changes. | |
event< control, event_handler > | visible_changed |
Occurs when the value of the visible property changes. | |
Public Member Functions | |
control () | |
Initializes a new instance of the control class with default settings. | |
control (const control &parent, const xtd::ustring &text) | |
Initializes a new instance of the control class as a child control, with specific text. | |
control (const control &parent, const xtd::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. | |
control (const xtd::ustring &text) | |
Initializes a new instance of the control class with specific text. | |
control (const xtd::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. | |
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. | |
virtual control & | anchor (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. | |
virtual drawing::point | auto_scroll_point () const |
Gets where this control is scrolled to in scroll_control_into_view(control). | |
virtual bool | auto_size () const |
Gets a value that indicates whether the control resizes based on its contents. | |
virtual control & | auto_size (bool auto_size) |
Sets a value that indicates whether the control resizes based on its contents. | |
virtual drawing::color | back_color () const |
Gets the background color for the control. | |
virtual control & | back_color (const drawing::color &color) |
Sets the background color for the control. | |
virtual const xtd::drawing::image & | background_image () const |
Gets the background image displayed in the control. | |
virtual control & | background_image (const xtd::drawing::image &background_image) |
Sets the background image displayed in the control. | |
virtual xtd::forms::image_layout | background_image_layout () const |
Gets the background image layout as defined in the xtd::forms::image_layout enumeration. | |
virtual control & | background_image_layout (xtd::forms::image_layout background_image_layout) |
Sets the background image layout as defined in the xtd::forms::image_layout enumeration. | |
std::shared_ptr< xtd::iasync_result > | begin_invoke (delegate< void()> value) |
Executes the specified delegate asynchronously on the thread that the control's underlying handle was created on. | |
std::shared_ptr< xtd::iasync_result > | begin_invoke (delegate< void(std::vector< std::any >)> value, const std::vector< std::any > &args) |
Executes the specified delegate asynchronously with the specified arguments, on the thread that the control's underlying handle was created on. | |
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. | |
virtual drawing::rectangle | bounds () const |
Gets the size and location of the control including its nonclient elements, in pixels, relative to the parent control. | |
virtual control & | bounds (const drawing::rectangle &bounds) |
Sets the size and location of the control including its nonclient elements, in pixels, relative to the parent control. | |
virtual void | bring_to_front () |
Brings the control to the front of the z-order. | |
virtual bool | can_focus () const |
Gets a value indicating whether the control can receive focus. | |
bool | can_raise_events () const override |
Determines if events can be raised on the control. | |
virtual bool | can_select () const |
Gets a value indicating whether the control can be selected. | |
virtual const drawing::rectangle & | client_rectangle () const |
Gets the rectangle that represents the client area of the control. | |
virtual const drawing::size & | client_size () const |
Gets the height and width of the client area of the control. | |
virtual control & | client_size (const drawing::size &client_size) |
Sets the height and width of the client area of the control. | |
virtual xtd::ustring | company_name () const |
Gets the name of the company or creator of the application containing the control. | |
virtual control_collection & | controls () |
Gets the collection of controls contained within the control. | |
virtual const control_collection & | controls () const |
Gets the collection of controls contained within the control. | |
void | create_control () |
Forces the creation of the visible control, including the creation of the handle and any visible child controls. | |
drawing::graphics | create_graphics () const |
Creates the xtd::drawing::graphics for the control. | |
virtual void | create_handle () |
Creates a handle for the control. | |
virtual bool | created () |
Gets a value indicating whether the control has been created. | |
virtual forms::cursor | cursor () const |
Gets the cursor that is displayed when the mouse pointer is over the control. | |
virtual control & | cursor (const forms::cursor &cursor) |
Sets the cursor that is displayed when the mouse pointer is over the control. | |
virtual drawing::color | default_back_color () const |
Gets the default background color of the control. | |
virtual forms::cursor | default_cursor () const |
Gets the default cursor for the control. | |
virtual drawing::font | default_font () const |
Gets the default font of the control. | |
virtual drawing::color | default_fore_color () const |
Gets the default foreground color of the control. | |
virtual drawing::size | default_size () const |
Gets the default size of the control. | |
virtual void | destroy_control () |
Forces the destruction of the visible control, including the destruction of the handle and any visible child controls. | |
virtual void | destroy_handle () |
Destroys the handle associated with the control. | |
virtual drawing::rectangle | display_rectangle () const |
Gets the rectangle that represents the display area of the control. | |
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. | |
virtual control & | dock (dock_style dock) |
Sets or sets which control borders are docked to its parent control and determines how a control is resized with its parent. | |
virtual bool | double_buffered () const |
Gets a value indicating whether this control should redraw its surface using a secondary buffer to reduce or prevent flicker. | |
virtual control & | double_buffered (bool double_buffered) |
Sets a value indicating whether this control should redraw its surface using a secondary buffer to reduce or prevent flicker. | |
virtual bool | enabled () const |
Gets a value indicating whether the control can respond to user interaction. | |
virtual control & | enabled (bool enabled) |
Sets a value indicating whether the control can respond to user interaction. | |
void | end_invoke (std::shared_ptr< xtd::iasync_result > async) |
Retrieves the return value of the asynchronous operation represented by the async_result_invoke passed. | |
bool | focus () |
Sets input focus to the control. | |
virtual bool | focused () const |
Gets a value indicating whether the control has input focus. | |
virtual drawing::font | font () const |
Gets the font of the text displayed by the control. | |
virtual control & | font (const drawing::font &font) |
Sets the font of the text displayed by the control. | |
virtual drawing::color | fore_color () const |
Gets the foreground color of the control. | |
virtual control & | fore_color (const drawing::color &color) |
Sets the foreground color of the control. | |
size_t | get_child_index (intptr_t child) const |
Retrieves the index of a control within the control collection. | |
size_t | get_child_index (intptr_t child, bool &throw_exception) const |
Retrieves the index of the specified child control within the control collection, and optionally raises an exception if the specified control is not within the control collection. | |
intptr_t | handle () const override |
Gets the window handle that the control is bound to. | |
virtual int32_t | height () const |
Gets the height of the control. | |
virtual control & | height (int32_t height) |
Sets the height of the control. | |
virtual void | hide () |
Conceals the control from the user. | |
virtual void | invalidate () const |
Invalidates the entire surface of the control and causes the control to be redrawn. | |
virtual void | invalidate (bool invalidate_children) const |
Invalidates a specific region of the control and causes a paint message to be sent to the control. Optionally, invalidates the child controls assigned to the control. | |
virtual void | invalidate (const drawing::rectangle &rect) const |
Invalidates the specified region of the control (adds it to the control's update region, which is the area that will be repainted at the next paint operation), and causes a paint message to be sent to the control. | |
virtual void | invalidate (const drawing::rectangle &rect, bool invalidate_children) const |
Invalidates the specified region of the control (adds it to the control's update region, which is the area that will be repainted at the next paint operation), and causes a paint message to be sent to the control. Optionally, invalidates the child controls assigned to the control. | |
void | invoke (delegate< void()> value) |
Executes the specified delegate on the thread that owns the control's underlying window handle. | |
void | invoke (delegate< void(std::vector< std::any >)> value, const std::vector< std::any > &args) |
Executes the specified delegate, on the thread that owns the control's underlying window handle, with the specified list of arguments. | |
bool | is_handle_created () const |
Gets a value indicating whether the control has a handle associated with it. | |
virtual int32_t | left () const |
Gets the distance, in pixels, between the left edge of the control and the left edge of its container's client area. | |
virtual control & | left (int32_t left) |
Sets the distance, in pixels, between the left edge of the control and the left edge of its container's client area. | |
virtual drawing::point | location () const |
Gets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container. | |
virtual control & | location (const drawing::point &location) |
Sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container. | |
virtual forms::padding | margin () const |
Gets the space between controls. | |
virtual control & | margin (const forms::padding &margin) |
Sets the space between controls. | |
virtual const drawing::size & | maximum_size () const |
Gets the size that is the upper limit that xtd::forms::control::get_preferred_size can specify. | |
virtual control & | maximum_size (const drawing::size &size) |
Sets the size that is the upper limit that xtd::forms::control::get_preferred_size can specify. | |
virtual const drawing::size & | minimum_size () const |
Gets the size that is the lower limit that xtd::forms::control::get_preferred_size can specify. | |
virtual control & | minimum_size (const drawing::size &size) |
Sets the size that is the lower limit that xtd::forms::control::get_preferred_size can specify. | |
virtual const xtd::ustring & | name () const |
Gets the name of the control. | |
virtual control & | name (const xtd::ustring &name) |
Sets the name of the control. | |
virtual forms::padding | padding () const |
Gets padding within the control. | |
virtual control & | padding (const forms::padding &padding) |
Sets padding within the control. | |
virtual std::optional< control_ref > | parent () const |
Gets the parent container of the control. | |
virtual control & | parent (const control &parent) |
Sets the parent container of the control. | |
virtual control & | parent (std::nullptr_t) |
Resets the parent container of the control. | |
void | perform_layout () |
Forces the control to apply layout logic to all its child controls. | |
xtd::drawing::point | point_to_client (const xtd::drawing::point &p) |
Computes the location of the specified screen point into client coordinates. | |
xtd::drawing::point | point_to_screen (const xtd::drawing::point &p) |
Computes the location of the specified client point into screen coordinates. | |
virtual bool | pre_process_message (xtd::forms::message &message) |
Preprocesses keyboard or input messages within the message loop before they are dispatched. | |
virtual xtd::ustring | product_name () const |
Gets the product name of the assembly containing the control. | |
bool | recreating_handle () const |
Gets a value indicating whether the control is currently re-creating its handle. | |
virtual void | refresh () const |
Forces the control to invalidate its client area and immediately redraw itself and any child controls. | |
void | resume_layout () |
Resumes usual layout logic. | |
void | resume_layout (bool perform_layout) |
Resumes usual layout logic, optionally forcing an immediate layout of pending layout requests. | |
virtual int32_t | right () const |
Gets the distance, in pixels, between the right edge of the control and the left edge of its container's client area. | |
intptr_t | send_message (intptr_t hwnd, int32_t msg, intptr_t wparam, intptr_t lparam) const |
Send a message with specified hwnd, message, wparam and lparam. | |
void | set_auto_size_mode (auto_size_mode auto_size_mode) |
Sets a value indicating how a control will behave when its auto_size property is enabled. | |
void | set_bounds (int32_t x, int32_t y, int32_t width, int32_t height) |
Sets the bounds of the control to the specified location and size. | |
void | set_bounds (int32_t x, int32_t y, int32_t width, int32_t height, bounds_specified specified) |
Sets the specified bounds of the control to the specified location and size. | |
virtual void | show () |
Displays the control to the user. | |
virtual const drawing::size & | size () const |
Gets the height and width of the control. | |
virtual control & | size (const drawing::size &size) |
Sets the height and width of the control. | |
void | suspend_layout () |
Temporarily suspends the layout logic for the control. | |
virtual std::any | tag () const |
Gets the object that contains data about the control. | |
virtual control & | tag (std::any tag) |
Sets the object that contains data about the control. | |
virtual const xtd::ustring & | text () const |
Gets the text associated with this control. | |
virtual control & | text (const xtd::ustring &text) |
Sets the text associated with this control. | |
xtd::ustring | to_string () const noexcept override |
Returns a string containing the name of the control, if any. | |
virtual int32_t | top () const |
Gets the distance, in pixels, between the top edge of the control and the top edge of its container's client area. | |
virtual control & | top (int32_t top) |
Sets the distance, in pixels, between the top edge of the control and the top edge of its container's client area. | |
virtual std::optional< control_ref > | top_level_control () const |
Gets the parent control that is not parented by another Windows Forms control. Typically, this is the outermost Form that the control is contained in. | |
virtual void | update () const |
Causes the control to redraw the invalidated regions within its client area. | |
virtual bool | visible () const |
Gets a value indicating whether the control and all its child controls are displayed. | |
virtual control & | visible (bool visible) |
Sets a value indicating whether the control and all its child controls are displayed. | |
virtual int32_t | width () const |
Gets the width of the control. | |
virtual control & | width (int32_t width) |
Sets the width of the control. | |
Public Member Functions inherited from xtd::object | |
object ()=default | |
Create a new instance of the ultimate base class object. | |
virtual bool | equals (const object &obj) const noexcept |
Determines whether the specified object is equal to the current object. | |
virtual size_t | get_hash_code () const noexcept |
Serves as a hash function for a particular type. | |
template<typename object_t > | |
std::unique_ptr< object_t > | memberwise_clone () const |
Gets the type of the current instance. | |
virtual xtd::ustring | to_string () const noexcept |
Returns a std::string that represents the current object. | |
virtual intptr_t | handle () const =0 |
Gets the handle to the window represented by the implementer. | |
Static Public Member Functions | |
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) |
A factory to create a specified control with specified parent, location ,size back_color and fore_color. | |
template<typename control_t > | |
static std::unique_ptr< control_t > | create (const control &parent, const xtd::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) |
A factory to create a specified control with specified parent, text, location ,size back_color and fore_color. | |
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) |
A factory to create a specified control with specified location ,size back_color and fore_color. | |
template<typename control_t > | |
static std::unique_ptr< control_t > | create (const xtd::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) |
A factory to create a specified control with specified text, location ,size back_color and fore_color. | |
static std::optional< control_ref > | from_child_handle (intptr_t handle) |
Retrieves the control that contains the specified handle. | |
static std::optional< control_ref > | from_handle (intptr_t handle) |
Returns the control that is currently associated with the specified handle. | |
static forms::keys | modifier_keys () |
Gets a value indicating which of the modifier keys (SHIFT, CTRL, and ALT) is in a pressed state. | |
static forms::mouse_buttons | mouse_buttons () |
Gets a value indicating which of the mouse buttons is in a pressed state. | |
Static Public Member Functions inherited from xtd::object | |
static bool | equals (const object &object_a, const object &object_b) noexcept |
Determines whether the specified object instances are considered equal. | |
static bool | reference_equals (const object &object_a, const object &object_b) noexcept |
Determines whether the specified object instances are the same instance. | |
Protected Member Functions | |
virtual forms::create_params | create_params () const |
Gets the required creation parameters when the control handle is created. | |
virtual void | def_wnd_proc (message &message) |
Sends the specified message to the default window procedure. | |
bool | get_style (control_styles flag) const |
Retrieves the value of the specified control style bit for the control. | |
virtual drawing::size | measure_control () const |
Measure this control. | |
drawing::size | measure_text () const |
Measure this control text. | |
virtual void | on_auto_size_changed (const event_args &e) |
Raises the control::auto_size_changed event. | |
virtual void | on_back_color_changed (const event_args &e) |
Raises the control::back_color_changed event. | |
virtual void | on_background_image_changed (const event_args &e) |
Raises the control::background_image_changed event. | |
virtual void | on_background_image_layout_changed (const event_args &e) |
Raises the control::background_image_layout_changed event. | |
virtual void | on_click (const event_args &e) |
Raises the control::click event. | |
virtual void | on_client_size_changed (const event_args &e) |
Raises the control::client_size_changed event. | |
virtual void | on_control_added (const control_event_args &e) |
Raises the control::control_added event. | |
virtual void | on_control_removed (const control_event_args &e) |
Raises the control::control_removed event. | |
virtual void | on_create_control () |
Raises the control::create_control event. | |
virtual void | on_cursor_changed (const event_args &e) |
Raises the control::cursor_changed event. | |
virtual void | on_dock_changed (const event_args &e) |
Raises the control::dock_changed event. | |
virtual void | on_double_click (const event_args &e) |
Raises the double_click event. | |
virtual void | on_enabled_changed (const event_args &e) |
Raises the control::enabled_changed event. | |
virtual void | on_font_changed (const event_args &e) |
Raises the control::font_changed event. | |
virtual void | on_fore_color_changed (const event_args &e) |
Raises the control::fore_color_changed event. | |
virtual void | on_got_focus (const event_args &e) |
Raises the control::got_focus event. | |
virtual void | on_handle_created (const event_args &e) |
Raises the control::handle_created event. | |
virtual void | on_handle_destroyed (const event_args &e) |
Raises the control::handle_destroyed event. | |
virtual void | on_key_down (key_event_args &e) |
Raises the control::key_down event. | |
virtual void | on_key_press (key_press_event_args &e) |
Raises the control::key_press event. | |
virtual void | on_key_up (key_event_args &e) |
Raises the control::key_up event. | |
virtual void | on_layout (const event_args &e) |
Raises the control::layout event. | |
virtual void | on_location_changed (const event_args &e) |
Raises the control::location_changed event. | |
virtual void | on_lost_focus (const event_args &e) |
Raises the control::lost_focus event. | |
virtual void | on_mouse_click (const mouse_event_args &e) |
Raises the control::mouse_click event. | |
virtual void | on_mouse_double_click (const mouse_event_args &e) |
Raises the control::mouse_double_click event. | |
virtual void | on_mouse_down (const mouse_event_args &e) |
Raises the control::mouse_down event. | |
virtual void | on_mouse_enter (const event_args &e) |
Raises the control::mouse_enter event. | |
virtual void | on_mouse_horizontal_wheel (const mouse_event_args &e) |
Raises the control::mouse_horizontal_wheel event. | |
virtual void | on_mouse_leave (const event_args &e) |
Raises the control::mouse_leave event. | |
virtual void | on_mouse_move (const mouse_event_args &e) |
Raises the control::mouse_move event. | |
virtual void | on_mouse_up (const mouse_event_args &e) |
Raises the control::mouse_up event. | |
virtual void | on_mouse_wheel (const mouse_event_args &e) |
Raises the control::mouse_wheel event. | |
virtual void | on_paint (paint_event_args &e) |
Raises the control::paint event. | |
virtual void | on_parent_back_color_changed (const event_args &e) |
Raises the control::parent_back_color_changed event. | |
virtual void | on_parent_changed (const event_args &e) |
Raises the control::parent_changed event. | |
virtual void | on_parent_cursor_changed (const event_args &e) |
Raises the control::parent_cursor_changed event. | |
virtual void | on_parent_enabled_changed (const event_args &e) |
Raises the xtd::control::enabled_changed event when the xtd::control::enabled property value of the control's container changes.. | |
virtual void | on_parent_font_changed (const event_args &e) |
Raises the control::parent_font_changed event. | |
virtual void | on_parent_fore_color_changed (const event_args &e) |
Raises the control::parent_fore_color_changed event. | |
virtual void | on_resize (const event_args &e) |
Raises the control::resize event. | |
virtual void | on_size_changed (const event_args &e) |
Raises the control::size_changed event. | |
virtual void | on_text_changed (const event_args &e) |
Raises the control::text_changed event. | |
virtual void | on_visible_changed (const event_args &e) |
Raises the control::visible_changed event. | |
virtual void | recreate_handle () |
Forces the re-creation of the handle for the control. | |
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. | |
virtual void | set_client_size_core (int32_t width, int32_t height) |
Sets the size of the client area of the control. | |
void | set_style (control_styles flag, bool value) |
Sets a specified control_styles flag to either true or false. | |
virtual void | wnd_proc (message &m) |
Processes Windows messages. | |
Protected Member Functions inherited from xtd::forms::component | |
component ()=default | |
Initialises a new instance of the component class. | |
virtual bool | can_raise_events () const |
Gets a value indicating whether the component can raise an event. | |
bool | design_mode () const |
Gets a value that indicates whether the component is currently in design mode. | |
xtd::forms::control::control | ( | ) |
Initializes a new instance of the control class with default settings.
|
inlineexplicit |
Initializes a new instance of the control class with specific text.
text | The text displayed by the control. |
|
inlineexplicit |
Initializes a new instance of the control class as a child control, with specific text.
parent | The control to be the parent of the control. |
text | The text displayed by the control. |
|
inlineexplicit |
Initializes a new instance of the control class with specific text, size, and location.
text | The text displayed by the control. |
left | The x position of the control, in pixels, from the left edge of the control's container. The value is assigned to the left property. |
top | The y position of the control, in pixels, from the top edge of the control's container. The value is assigned to the top property. |
width | The width of the control, in pixels. The value is assigned to the width property. |
height | The height of the control, in pixels. The value is assigned to the height property. |
|
inlineexplicit |
Initializes a new instance of the control class as a child control, with specific text, size, and location.
parent | The control to be the parent of the control. |
text | The text displayed by the control. |
left | The x position of the control, in pixels, from the left edge of the control's container. The value is assigned to the left property. |
top | The y position of the control, in pixels, from the top edge of the control's container. The value is assigned to the top property. |
width | The width of the control, in pixels. The value is assigned to the width property. |
height | The height of the control, in pixels. The value is assigned to the height property. |
|
inlinevirtual |
Gets the edges of the container to which a control is bound and determines how a control is resized with its parent.
|
virtual |
Gets the edges of the container to which a control is bound and determines how a control is resized with its parent.
anchor | A bitwise combination of the anchor_styles values. The default is top and left. |
|
inlinevirtual |
Gets where this control is scrolled to in scroll_control_into_view(control).
|
inlinevirtual |
Gets a value that indicates whether the control resizes based on its contents.
Reimplemented in xtd::forms::button_base.
|
virtual |
Sets a value that indicates whether the control resizes based on its contents.
auto_size | true if enabled; otherwise, false. |
Reimplemented in xtd::forms::button_base.
|
virtual |
Gets the background color for the control.
|
virtual |
Sets the background color for the control.
color | A xtd::drawing::color that represents the background color of the control. The default is the value of the default_back_color property. |
|
inlinevirtual |
Gets the background image displayed in the control.
|
virtual |
Sets the background image displayed in the control.
background_image | An xtd::drawing::image that represents the image to display in the background of the control. |
|
inlinevirtual |
Gets the background image layout as defined in the xtd::forms::image_layout enumeration.
|
virtual |
Sets the background image layout as defined in the xtd::forms::image_layout enumeration.
background_image_layout | One of the values of xtd::forms::image_layout (center , none, stretch, tile, or zoom). tile is the default value. |
|
inline |
Executes the specified delegate asynchronously on the thread that the control's underlying handle was created on.
value | A delegate to a method that takes no parameters. |
std::shared_ptr< xtd::iasync_result > xtd::forms::control::begin_invoke | ( | delegate< void(std::vector< std::any >)> | value, |
const std::vector< std::any > & | args | ||
) |
Executes the specified delegate asynchronously with the specified arguments, on the thread that the control's underlying handle was created on.
value | A delegate to a method that takes parameters of the same number and type that are contained in the args parameter. |
args | An array of objects to pass as arguments to the given method. This can be empty if no arguments are needed. |
|
inlinevirtual |
Gets the distance, in pixels, between the bottom edge of the control and the top edge of its container's client area.
|
inlinevirtual |
Gets the size and location of the control including its nonclient elements, in pixels, relative to the parent control.
|
inlinevirtual |
Sets the size and location of the control including its nonclient elements, in pixels, relative to the parent control.
bounds | A rectangle in pixels relative to the parent control that represents the size and location of the control including its nonclient elements. |
|
virtual |
Brings the control to the front of the z-order.
Reimplemented in xtd::forms::form.
|
virtual |
Gets a value indicating whether the control can receive focus.
|
inlineoverridevirtual |
Determines if events can be raised on the control.
Reimplemented from xtd::forms::component.
|
inlinevirtual |
Gets a value indicating whether the control can be selected.
|
inlinevirtual |
Gets the rectangle that represents the client area of the control.
|
inlinevirtual |
Gets the height and width of the client area of the control.
|
inlinevirtual |
Sets the height and width of the client area of the control.
client_size | A size that represents the dimensions of the client area of the control. |
|
inlinevirtual |
Gets the name of the company or creator of the application containing the control.
|
inlinevirtual |
Gets the collection of controls contained within the control.
|
inlinevirtual |
Gets the collection of controls contained within the control.
|
inlinestatic |
A factory to create a specified control with specified parent, location ,size back_color and fore_color.
parent | The parent that contains the new created control. |
location | A xtd::drawing::point that represent location of the control. |
size | A xtd::drawing::size that represent size of the control. |
back_color | A xtd::drawing::color that represent background color of the control. |
fore_color | A xtd::drawing::color that represent foreground color of the control. |
|
inlinestatic |
A factory to create a specified control with specified parent, text, location ,size back_color and fore_color.
parent | The parent that contains the new created control. |
text | A string that represent text of the control. |
location | A xtd::drawing::point that represent location of the control. |
size | A xtd::drawing::size that represent size of the control. |
back_color | A xtd::drawing::color that represent background color of the control. |
fore_color | A xtd::drawing::color that represent foreground color of the control. |
|
inlinestatic |
A factory to create a specified control with specified location ,size back_color and fore_color.
location | A xtd::drawing::point that represent location of the control. |
size | A xtd::drawing::size that represent size of the control. |
back_color | A xtd::drawing::color that represent background color of the control. |
fore_color | A xtd::drawing::color that represent foreground color of the control. |
|
inlinestatic |
A factory to create a specified control with specified text, location ,size back_color and fore_color.
text | A string that represent text of the control. |
location | A xtd::drawing::point that represent location of the control. |
size | A xtd::drawing::size that represent size of the control. |
back_color | A xtd::drawing::color that represent background color of the control. |
fore_color | A xtd::drawing::color that represent foreground color of the control. |
void xtd::forms::control::create_control | ( | ) |
Forces the creation of the visible control, including the creation of the handle and any visible child controls.
|
virtual |
Creates a handle for the control.
|
protectedvirtual |
Gets the required creation parameters when the control handle is created.
Reimplemented in xtd::forms::button, xtd::forms::button_base, xtd::forms::check_box, xtd::forms::checked_list_box, xtd::forms::choice, xtd::forms::collapsible_panel, xtd::forms::color_picker, xtd::forms::combo_box, xtd::forms::command_link_button, xtd::forms::date_time_picker, xtd::forms::domain_up_down, xtd::forms::font_picker, xtd::forms::form, xtd::forms::group_box, xtd::forms::h_scroll_bar, xtd::forms::label, xtd::forms::list_box, xtd::forms::loading_indicator, xtd::forms::numeric_up_down, xtd::forms::panel, xtd::forms::picture_box, xtd::forms::progress_bar, xtd::forms::radio_button, xtd::forms::scroll_bar, xtd::forms::scrollable_control, xtd::forms::tab_control, xtd::forms::tab_page, xtd::forms::text_box, xtd::forms::toggle_button, xtd::forms::track_bar, xtd::forms::up_down_base, xtd::forms::up_down_button, xtd::forms::user_control, and xtd::forms::v_scroll_bar.
|
inlinevirtual |
Gets a value indicating whether the control has been created.
|
virtual |
Gets the cursor that is displayed when the mouse pointer is over the control.
|
virtual |
Sets the cursor that is displayed when the mouse pointer is over the control.
cursor | A xtd::forms::cursor that represents the cursor to display when the mouse pointer is over the control. |
|
protectedvirtual |
Sends the specified message to the default window procedure.
message | The Windows Message to process. |
|
inlinevirtual |
Gets the default background color of the control.
Reimplemented in xtd::forms::date_time_picker, xtd::forms::domain_up_down, xtd::forms::list_box, xtd::forms::list_control, xtd::forms::numeric_up_down, and xtd::forms::text_box.
|
inlinevirtual |
Gets the default cursor for the control.
Reimplemented in xtd::forms::splitter, and xtd::forms::text_box_base.
|
virtual |
Gets the default font of the control.
|
inlinevirtual |
Gets the default foreground color of the control.
Reimplemented in xtd::forms::date_time_picker, xtd::forms::domain_up_down, xtd::forms::list_box, xtd::forms::list_control, xtd::forms::numeric_up_down, and xtd::forms::text_box.
|
inlinevirtual |
Gets the default size of the control.
Reimplemented in xtd::forms::animation, xtd::forms::button_base, xtd::forms::check_box, xtd::forms::choice, xtd::forms::color_picker, xtd::forms::combo_box, xtd::forms::command_link_button, xtd::forms::date_time_picker, xtd::forms::domain_up_down, xtd::forms::dot_matrix_display, xtd::forms::font_picker, xtd::forms::form, xtd::forms::group_box, xtd::forms::h_scroll_bar, xtd::forms::label, xtd::forms::lcd_label, xtd::forms::list_box, xtd::forms::loading_indicator, xtd::forms::numeric_up_down, xtd::forms::panel, xtd::forms::picture_box, xtd::forms::progress_bar, xtd::forms::radio_button, xtd::forms::seven_segment_display, xtd::forms::split_container, xtd::forms::splitter, xtd::forms::tab_control, xtd::forms::text_box, xtd::forms::toggle_button, xtd::forms::track_bar, xtd::forms::up_down_button, xtd::forms::user_control, and xtd::forms::v_scroll_bar.
|
virtual |
Forces the destruction of the visible control, including the destruction of the handle and any visible child controls.
|
virtual |
Destroys the handle associated with the control.
Reimplemented in xtd::forms::tab_page.
|
inlinevirtual |
Gets the rectangle that represents the display area of the control.
Reimplemented in xtd::forms::scrollable_control.
|
inlinevirtual |
Gets or sets which control borders are docked to its parent control and determines how a control is resized with its parent.
|
virtual |
Sets or sets which control borders are docked to its parent control and determines how a control is resized with its parent.
dock | One of the dock_style values. The default is none. |
Reimplemented in xtd::forms::splitter, and xtd::forms::trace_form_base.
|
inlinevirtual |
Gets a value indicating whether this control should redraw its surface using a secondary buffer to reduce or prevent flicker.
|
inlinevirtual |
Sets a value indicating whether this control should redraw its surface using a secondary buffer to reduce or prevent flicker.
double_buffered | true if the surface of the control should be drawn using double buffering; otherwise, false. |
|
inlinevirtual |
Gets a value indicating whether the control can respond to user interaction.
|
virtual |
Sets a value indicating whether the control can respond to user interaction.
enabled | true if the control can respond to user interaction; otherwise, false. The default is true. |
void xtd::forms::control::end_invoke | ( | std::shared_ptr< xtd::iasync_result > | async | ) |
Retrieves the return value of the asynchronous operation represented by the async_result_invoke passed.
async | The async_result_invoke that represents a specific invoke asynchronous operation, returned when calling begin_invoke(delegate). |
bool xtd::forms::control::focus | ( | ) |
Sets input focus to the control.
|
inlinevirtual |
Gets a value indicating whether the control has input focus.
|
virtual |
Gets the font of the text displayed by the control.
Reimplemented in xtd::forms::font_picker.
|
virtual |
Sets the font of the text displayed by the control.
font | The font to apply to the text displayed by the control. The default is the value of the default_font property. |
Reimplemented in xtd::forms::font_picker.
|
virtual |
Gets the foreground color of the control.
|
virtual |
Sets the foreground color of the control.
color | The foreground color of the control. The default is the value of the default_fore_color property. |
|
static |
Retrieves the control that contains the specified handle.
handle | The window handle (HWND) to search for. |
|
static |
Returns the control that is currently associated with the specified handle.
handle | The window handle (HWND) to search for. |
|
inline |
Retrieves the index of a control within the control collection.
child | The control to search for in the control collection. |
xtd::argument_exception | The child control is not in the control::control_collection. |
|
inline |
Retrieves the index of the specified child control within the control collection, and optionally raises an exception if the specified control is not within the control collection.
child | The control to search for in the control collection. @param throw_exception true to throw an exception if the control specified in the child parameter is not a control in the control::control_collection; otherwise, false. |
|
inlineprotected |
Retrieves the value of the specified control style bit for the control.
flag | The control_styles bit to return the value from. |
|
overridevirtual |
Gets the window handle that the control is bound to.
Implements xtd::forms::iwin32_window.
|
inlinevirtual |
Gets the height of the control.
|
inlinevirtual |
Sets the height of the control.
height | The height of the control in pixels. |
|
inlinevirtual |
Conceals the control from the user.
|
inlinevirtual |
Invalidates the entire surface of the control and causes the control to be redrawn.
|
inlinevirtual |
Invalidates a specific region of the control and causes a paint message to be sent to the control. Optionally, invalidates the child controls assigned to the control.
invalidate_children | true to invalidate the control's child controls; otherwise, false. |
|
inlinevirtual |
Invalidates the specified region of the control (adds it to the control's update region, which is the area that will be repainted at the next paint operation), and causes a paint message to be sent to the control.
rect | A xtd::drawing::rectangle that represents the region to invalidate. |
|
virtual |
Invalidates the specified region of the control (adds it to the control's update region, which is the area that will be repainted at the next paint operation), and causes a paint message to be sent to the control. Optionally, invalidates the child controls assigned to the control.
rect | A xtd::drawing::rectangle that represents the region to invalidate. |
invalidate_children | true to invalidate the control's child controls; otherwise, false. |
|
inline |
Executes the specified delegate on the thread that owns the control's underlying window handle.
value | A delegate that contains a method to be called in the control's thread context. |
|
inline |
Executes the specified delegate, on the thread that owns the control's underlying window handle, with the specified list of arguments.
value | A delegate to a method that takes parameters of the same number and type that are contained in the args parameter. |
args | An array of objects to pass as arguments to the specified method. This parameter can be null if the method takes no arguments. |
bool xtd::forms::control::is_handle_created | ( | ) | const |
Gets a value indicating whether the control has a handle associated with it.
|
inlinevirtual |
Gets the distance, in pixels, between the left edge of the control and the left edge of its container's client area.
|
inlinevirtual |
Sets the distance, in pixels, between the left edge of the control and the left edge of its container's client area.
left | An int32_t representing the distance, in pixels, between the left edge of the control and the left edge of its container's client area. |
|
inlinevirtual |
Gets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container.
|
inlinevirtual |
Sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container.
location | The point that represents the upper-left corner of the control relative to the upper-left corner of its container. |
|
inlinevirtual |
Gets the space between controls.
|
inlinevirtual |
Sets the space between controls.
margin | A padding representing the space between controls. |
|
virtual |
Gets the size that is the upper limit that xtd::forms::control::get_preferred_size can specify.
|
virtual |
Sets the size that is the upper limit that xtd::forms::control::get_preferred_size can specify.
size | An ordered pair of type xtd::drawing::size representing the width and height of a rectangle. |
|
protectedvirtual |
Measure this control.
Reimplemented in xtd::forms::button, xtd::forms::button_base, xtd::forms::check_box, xtd::forms::collapsible_panel, xtd::forms::command_link_button, xtd::forms::container_control, xtd::forms::dot_matrix_display, xtd::forms::group_box, xtd::forms::label, xtd::forms::lcd_label, xtd::forms::link_label, xtd::forms::loading_indicator, xtd::forms::panel, xtd::forms::picture_box, xtd::forms::radio_button, xtd::forms::seven_segment_display, xtd::forms::tab_control, xtd::forms::text_box, xtd::forms::toggle_button, and xtd::forms::track_bar.
|
protected |
Measure this control text.
|
virtual |
Gets the size that is the lower limit that xtd::forms::control::get_preferred_size can specify.
|
virtual |
Sets the size that is the lower limit that xtd::forms::control::get_preferred_size can specify.
size | An ordered pair of type xtd::drawing::size representing the width and height of a rectangle. |
|
inlinestatic |
Gets a value indicating which of the modifier keys (SHIFT, CTRL, and ALT) is in a pressed state.
|
inlinestatic |
Gets a value indicating which of the mouse buttons is in a pressed state.
|
inlinevirtual |
Gets the name of the control.
Reimplemented in xtd::forms::trace_form_base.
|
inlinevirtual |
Sets the name of the control.
name | The name of the control. The default is an empty string (""). |
|
inlinevirtual |
Gets padding within the control.
|
inlinevirtual |
Sets padding within the control.
padding | A padding representing the control's internal spacing characteristics. |
|
inlinevirtual |
Gets the parent container of the control.
Sets the parent container of the control.
parent | A control that represents the parent or container control of the control or nullptr for none. |
Reimplemented in xtd::forms::form.
|
virtual |
Resets the parent container of the control.
nullptr. |
void xtd::forms::control::perform_layout | ( | ) |
Forces the control to apply layout logic to all its child controls.
xtd::drawing::point xtd::forms::control::point_to_client | ( | const xtd::drawing::point & | p | ) |
Computes the location of the specified screen point into client coordinates.
p | The screen coordinate xtd::drawing::point to convert. |
xtd::drawing::point xtd::forms::control::point_to_screen | ( | const xtd::drawing::point & | p | ) |
Computes the location of the specified client point into screen coordinates.
p | The client coordinate xtd::drawing::point to convert. |
|
virtual |
Preprocesses keyboard or input messages within the message loop before they are dispatched.
message | A xtd::forms::message, passed by reference, that represents the message to process. The possible values are WM_KEYDOWN, WM_SYSKEYDOWN, WM_CHAR, and WM_SYSCHAR. |
Reimplemented in xtd::forms::form.
|
inlinevirtual |
Gets the product name of the assembly containing the control.
|
protectedvirtual |
Forces the re-creation of the handle for the control.
Reimplemented in xtd::forms::tab_control.
|
inline |
Gets a value indicating whether the control is currently re-creating its handle.
|
virtual |
|
inline |
Resumes usual layout logic.
|
inline |
Resumes usual layout logic, optionally forcing an immediate layout of pending layout requests.
perform_layout | true to execute pending layout requests; otherwise, false. |
|
inlinevirtual |
Gets the distance, in pixels, between the right edge of the control and the left edge of its container's client area.
intptr_t xtd::forms::control::send_message | ( | intptr_t | hwnd, |
int32_t | msg, | ||
intptr_t | wparam, | ||
intptr_t | lparam | ||
) | const |
Send a message with specified hwnd, message, wparam and lparam.
hwnd | The window handle of the message. |
msg | The ID number for the message. |
wparam | The WParam field of the message. |
lparam | The LParam field of the message. |
void xtd::forms::control::set_auto_size_mode | ( | auto_size_mode | auto_size_mode | ) |
Sets a value indicating how a control will behave when its auto_size property is enabled.
auto_size_mode | One of the xtd::forms::auto_size_mode values. |
|
inline |
Sets the bounds of the control to the specified location and size.
x | The new left property value of the control. |
y | The new top property value of the control. |
width | The new width property value of the control. |
height | The new height property value of the control. |
|
inline |
Sets the specified bounds of the control to the specified location and size.
x | The new left property value of the control. |
y | The new top property value of the control. |
width | The new width property value of the control. |
height | The new height property value of the control. |
specified | A bitwise combination of the xtd::forms::bounds_specified values. For any parameter not specified, the current value will be used. |
|
protectedvirtual |
Performs the work of setting the specified bounds of this control.
x | The new left property value of the control. |
y | The new top property value of the control. |
width | The new width property value of the control. |
height | The new height property value of the control. |
specified | A bitwise combination of the bounds_specified values. |
Reimplemented in xtd::forms::choice, xtd::forms::combo_box, xtd::forms::seven_segment_display, and xtd::forms::track_bar.
|
protectedvirtual |
Sets the size of the client area of the control.
width | The client area width, in pixels. |
height | The client area height, in pixels. |
Reimplemented in xtd::forms::choice, xtd::forms::combo_box, xtd::forms::seven_segment_display, and xtd::forms::track_bar.
|
inlineprotected |
Sets a specified control_styles flag to either true or false.
flag | The control_styles bit to set. |
value | true to apply the specified style to the control; otherwise, false. |
|
inlinevirtual |
Displays the control to the user.
|
inlinevirtual |
Gets the height and width of the control.
|
inlinevirtual |
Sets the height and width of the control.
size | The size that represents the height and width of the control in pixels. |
|
inline |
Temporarily suspends the layout logic for the control.
|
inlinevirtual |
Gets the object that contains data about the control.
|
inlinevirtual |
Sets the object that contains data about the control.
tag | A std::any that contains data about the control. The default is empty. |
|
inlinevirtual |
Gets the text associated with this control.
Reimplemented in xtd::forms::lcd_label, and xtd::forms::text_box.
|
virtual |
Sets the text associated with this control.
text | The text associated with this control. |
Reimplemented in xtd::forms::lcd_label, xtd::forms::checked_list_box, xtd::forms::checked_list_box, xtd::forms::choice, xtd::forms::combo_box, xtd::forms::list_box, xtd::forms::tab_page, xtd::forms::text_box, and xtd::forms::lcd_label.
|
overridevirtualnoexcept |
Returns a string containing the name of the control, if any.
Reimplemented from xtd::object.
Reimplemented in xtd::forms::numeric_up_down, xtd::forms::progress_bar, xtd::forms::radio_button, xtd::forms::track_bar, and xtd::forms::up_down_button.
|
inlinevirtual |
Gets the distance, in pixels, between the top edge of the control and the top edge of its container's client area.
|
inlinevirtual |
Sets the distance, in pixels, between the top edge of the control and the top edge of its container's client area.
top | An Int32_t representing the distance, in pixels, between the bottom edge of the control and the top edge of its container's client area. |
|
virtual |
Gets the parent control that is not parented by another Windows Forms control. Typically, this is the outermost Form that the control is contained in.
|
virtual |
Causes the control to redraw the invalidated regions within its client area.
|
inlinevirtual |
Gets a value indicating whether the control and all its child controls are displayed.
|
virtual |
Sets a value indicating whether the control and all its child controls are displayed.
visible | true if the control and all its child controls are displayed; otherwise, false. The default is true. |
Reimplemented in xtd::forms::form.
|
inlinevirtual |
Gets the width of the control.
|
inlinevirtual |
Sets the width of the control.
width | The width of the control in pixels. |
|
protectedvirtual |
Processes Windows messages.
m | The Windows Message to process. |
Reimplemented in xtd::forms::checked_list_box, xtd::forms::choice, xtd::forms::collapsible_panel, xtd::forms::color_picker, xtd::forms::combo_box, xtd::forms::date_time_picker, xtd::forms::font_picker, xtd::forms::form, xtd::forms::list_box, xtd::forms::numeric_up_down, xtd::forms::radio_button, xtd::forms::scroll_bar, xtd::forms::tab_control, xtd::forms::text_box, xtd::forms::track_bar, and xtd::forms::up_down_button.