33#include <xtd/drawing/color>
34#include <xtd/drawing/font>
35#include <xtd/drawing/point>
36#include <xtd/drawing/rectangle>
37#include <xtd/drawing/size>
39#include <xtd/async_result>
40#include <xtd/optional>
41#include <xtd/iequatable>
42#include <xtd/isynchronize_invoke>
92 creating_handle = 0b10000,
94 parent_recreating = 0b1000000,
96 client_size_setted = 0b10000000,
98 top_level = 0b1000000000,
103 allow_drop = 0b100000000000000,
104 drop_target = 0b1000000000000000,
106 layout_deferred = 0b10000000000000000,
107 docked = 0b100000000000000000,
109 double_click_fired = 0b1000000000000000000,
112 mouse_enter_pending = 0b100000000000000000000,
113 tracking_mouse_event = 0b1000000000000000000000,
114 mouse_pressed = 0b10000000000000000000000,
117 is_accessible = 0b1000000000000000000000000,
118 no_zorder = 0b10000000000000000000000000,
119 size_locked_by_os = 0b10000000000000000000000000,
120 causes_validation = 0b100000000000000000000000000,
121 own_ctl_brush = 0b1000000000000000000000000000,
122 exception_while_painting = 0b10000000000000000000000000000,
123 layout_sis_dirty = 0b100000000000000000000000000000,
124 checked_host = 0b1000000000000000000000000000000,
125 hosted_in_dialog = 0b10000000000000000000000000000000,
126 validation_cancelled = 0b100000000000000000000000000000000,
127 mirrored = 0b1000000000000000000000000000000000,
134 [[nodiscard]]
auto async_state()
const noexcept ->
xtd::any_object override;
136 [[nodiscard]]
auto completed_synchronously()
const noexcept ->
bool override;
137 [[nodiscard]]
auto is_completed()
const noexcept ->
bool override;
179 using base::operator [];
180 using base::operator ();
208 template<
typename control_t>
209 auto add(control_t& value) ->
void {
211 if (
control.get() == value)
return;
222 template<
typename control_t>
232 template<
typename control_t,
typename ...args_t>
237 template<
typename control_t>
240 if (
control.get() == value)
return;
253 template<
typename control_t>
269 template<
typename control_t,
typename ...args_t>
282 using arranged_element_collection::push_back;
283 template<
typename control_t>
284 [[deprecated(
"Replaced by xtd::forms::control::control_collection::add - Will be removed in version 1.2.0.")]]
285 auto push_back(control_t& value) ->
void {
add(value);}
295 if (controls_[
i].get() != &item.get())
continue;
296 controls_.remove_at(
i);
384 [[nodiscard]] virtual auto
auto_size() const noexcept ->
bool;
450 [[nodiscard]] virtual auto
can_focus() const noexcept ->
bool;
463 [[nodiscard]] virtual auto
can_select() const noexcept ->
bool;
532 [[nodiscard]] virtual auto
created() const noexcept ->
bool;
582 [[nodiscard]] virtual auto
enabled() const noexcept ->
bool;
590 [[nodiscard]] virtual auto
focused() const noexcept ->
bool;
725 [[nodiscard]] virtual auto
name() const noexcept -> const
xtd::
string&;
833 virtual auto style_sheet(const
xtd::
string& value) ->
control&;
844 [[nodiscard]] virtual auto
tab_stop() const noexcept ->
bool;
866 [[nodiscard]] virtual auto
text() const noexcept -> const
xtd::
string&;
891 [[nodiscard]] virtual auto
visible() const noexcept ->
bool;
954 [[nodiscard]] auto compare_to(const
control& value) const noexcept ->
xtd::
int32 override;
979 [[nodiscard]] auto
equals(const
xtd::
object& obj) const noexcept ->
bool override;
983 [[nodiscard]] auto
equals(const
control& value) const noexcept ->
bool override;
996 [[nodiscard]] auto get_back_color() const noexcept -> std::
optional<
xtd::
drawing::color>;
1006 [[nodiscard]] auto get_fore_color() const noexcept -> std::
optional<
xtd::
drawing::color>;
1233 template<typename control_t>
1234 [[nodiscard]] static auto
create() -> control_t {
1235 auto result = control_t {};
1241 template<
typename control_t>
1243 auto result = control_t {};
1251 template<
typename control_t>
1253 auto result = control_t {};
1263 template<
typename control_t>
1265 auto result = control_t {};
1274 template<
typename control_t>
1276 auto result = control_t {};
1284 template<
typename control_t>
1286 auto result = control_t {};
1296 template<
typename control_t>
1298 auto result = control_t {};
1310 template<
typename control_t>
1312 auto result = control_t {};
1322 template<
typename control_t>
1324 auto result = control_t {};
1332 template<
typename control_t>
1334 auto result = control_t {};
1344 template<
typename control_t>
1346 auto result = control_t {};
1358 template<
typename control_t>
1360 auto result = control_t {};
1371 template<
typename control_t>
1373 auto result = control_t {};
1383 template<
typename control_t>
1385 auto result = control_t {};
1397 template<
typename control_t>
1399 auto result = control_t {};
1413 template<
typename control_t>
1415 auto result = control_t {};
1862 friend class application;
1863 friend class context_menu;
1864 friend class horizontal_layout_panel;
1866 friend class paint_event_args;
1867 friend class screen;
1868 friend class vertical_layout_panel;
2156 auto post_recreate_handle() noexcept ->
void;
2221 [[nodiscard]] auto get_state(
control::state flag) const noexcept ->
bool;
2222 auto set_state(
control::state flag,
bool value) ->
void;
2223 auto on_context_menu_item_click(
xtd::
forms::context_menu&
menu,
intptr menu_id) const ->
bool;
2227 auto do_layout_children_with_dock_style() ->
void;
2228 auto do_layout_with_auto_size_mode() ->
void;
2229 auto do_layout_with_anchor_styles() ->
void;
2230 [[nodiscard]] static auto is_trace_form_or_control(const
string&
name) ->
bool;
2231 auto on_parent_size_changed(
xtd::
object& sender, const
xtd::
event_args& e) ->
void;
2268 static
bool check_for_illegal_cross_thread_calls_;
Contains xtd::forms::anchor_styles enum class.
Contains xtd::forms::layout::arranged_element_collection collection.
Contains xtd::forms::auto_size_mode enum class.
Contains xtd::forms::bounds_specified enum class.
Represent a polymorphic wrapper capable of holding any type.
Definition any_object.hpp:29
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition array.hpp:64
Represents a strongly typed list of objects that can be accessed by index. Provides methods to search...
Definition list.hpp:84
Represents the base class for classes that contain event data, and provides a value to use for events...
Definition event_args.hpp:18
Represents an event.
Definition event.hpp:23
static auto throws(xtd::helpers::exception_case exception_case, const source_location &location=source_location::current()) -> void
Throws an exption with specified exception case.
Represents the status of an asynchronous operation.
Definition iasync_result.hpp:25
Defines a generalized comparison method that a value type or class implements to create a type-specif...
Definition icomparable.hpp:22
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.hpp:23
Provides a way to synchronously or asynchronously execute a delegate.
Definition isynchronize_invoke.hpp:27
Encapsulates operating system specific objects that wait for exclusive access to shared resources.
Definition wait_handle.hpp:52
Contains xtd::forms::component class.
Contains xtd::forms::const_control_ref typedef.
Contains xtd::forms::control_appearance enum class.
Contains xtd::forms::control_event_handler event handler.
Contains xtd::forms::control_ref typedef.
Contains xtd::forms::visual_styles::control_state enum class.
Contains xtd::forms::control_styles enum class.
Contains xtd::forms::create_params class.
Contains xtd::forms::cursors factory.
Contains xtd::forms::dock_style enum class.
@ argument
The argument is not valid.
Definition exception_case.hpp:31
#define forms_export_
Define shared library export.
Definition forms_export.hpp:13
xtd::basic_string< char > string
Represents text as a sequence of UTF-8 code units.
Definition __string_definitions.hpp:43
std::int64_t int64
Represents a 64-bit signed integer.
Definition int64.hpp:23
std::uint32_t uint32
Represents a 32-bit unsigned integer.
Definition uint32.hpp:23
xtd::shared_ptr_object< type_t > sptr
The xtd::sptr object is a shared pointer.
Definition sptr.hpp:25
std::nullptr_t null_ptr
Represents the null_opt alias on std::nullptr_t.
Definition null_ptr.hpp:19
std::intmax_t intptr
Represent a pointer or a handle.
Definition intptr.hpp:23
std::int32_t int32
Represents a 32-bit signed integer.
Definition int32.hpp:25
xtd::reference_wrapper_object< type_t > ref
The xtd::ref object is a reference wrapper.
Definition ref.hpp:25
std::optional< type_t > optional
Represents the optional alias on std::optional.
Definition optional.hpp:26
std::size_t usize
Represents an unsigned size of any object in bytes.
Definition usize.hpp:22
xtd::sptr< xtd::iasync_result > async_result
Represents the status of an asynchronous operation.
Definition async_result.hpp:19
xtd::ref< xtd::object > object_ref
Represents an object reference.
Definition object_ref.hpp:20
auto new_sptr(args_t &&... args) -> xtd::sptr< type_t >
xtd::new_sptr operator creates a xtd::sptr object.
Definition new_sptr.hpp:24
@ add
The Add key.
Definition console_key.hpp:170
@ i
The I key.
Definition console_key.hpp:104
Contains xtd::forms::help_event_handler event handler.
Contains xtd::forms::image_layout enum class.
Contains xtd::forms::iwin32_window interface.
Contains xtd::forms::key_event_handler event handler.
Contains xtd::forms::key_press_event_handler event handler.
Contains xtd::forms::message class.
Contains xtd::forms::mouse_event_handler event handler.
The xtd::drawing namespace provides access to GDI+ basic graphics functionality. More advanced functi...
Definition actions_system_images.hpp:10
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
constexpr auto data() const noexcept -> const_pointer
Gets direct access to the underlying contiguous storage.
Definition read_only_span.hpp:197
Contains xtd::forms::padding class.
Contains xtd::forms::paint_event_handler event handler.
Contains xtd::forms::right_to_left enum class.
Represents an ordered pair of integer x- and y-coordinates that defines a point in a two-dimensional ...
Definition point.hpp:54
Stores an ordered pair of integers, which specify a height and width.
Definition size.hpp:32
Represents a type that can be used to index a collection either from the beginning or the end.
Definition index.hpp:38
Contains xtd::forms::style_sheets::style_sheet class.