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 [];
197 template<
typename control_t>
198 auto add(control_t& value) ->
void {
200 if (
control.get() == value)
return;
211 template<
typename control_t>
221 template<
typename control_t,
typename ...args_t>
226 template<
typename control_t>
229 if (
control.get() == value)
return;
242 template<
typename control_t>
258 template<
typename control_t,
typename ...args_t>
271 using arranged_element_collection::push_back;
272 template<
typename control_t>
273 [[deprecated(
"Replaced by xtd::forms::control::control_collection::add - Will be removed in version 1.2.0.")]]
274 auto push_back(control_t& value) ->
void {
add(value);}
284 if (controls_[
i].get() != &item.get())
continue;
285 controls_.remove_at(
i);
373 [[nodiscard]] virtual auto
auto_size() const noexcept ->
bool;
439 [[nodiscard]] virtual auto
can_focus() const noexcept ->
bool;
452 [[nodiscard]] virtual auto
can_select() const noexcept ->
bool;
521 [[nodiscard]] virtual auto
created() const noexcept ->
bool;
571 [[nodiscard]] virtual auto
enabled() const noexcept ->
bool;
579 [[nodiscard]] virtual auto
focused() const noexcept ->
bool;
714 [[nodiscard]] virtual auto
name() const noexcept -> const
xtd::
string&;
822 virtual auto style_sheet(const
xtd::
string& value) ->
control&;
833 [[nodiscard]] virtual auto
tab_stop() const noexcept ->
bool;
855 [[nodiscard]] virtual auto
text() const noexcept -> const
xtd::
string&;
880 [[nodiscard]] virtual auto
visible() const noexcept ->
bool;
943 [[nodiscard]] auto compare_to(const
control& value) const noexcept ->
xtd::
int32 override;
968 [[nodiscard]] auto
equals(const
xtd::
object& obj) const noexcept ->
bool override;
972 [[nodiscard]] auto
equals(const
control& value) const noexcept ->
bool override;
985 [[nodiscard]] auto get_back_color() const noexcept -> std::
optional<
xtd::
drawing::color>;
995 [[nodiscard]] auto get_fore_color() const noexcept -> std::
optional<
xtd::
drawing::color>;
1222 template<typename control_t>
1223 [[nodiscard]] static auto
create() -> control_t {
1224 auto result = control_t {};
1230 template<
typename control_t>
1232 auto result = control_t {};
1240 template<
typename control_t>
1242 auto result = control_t {};
1252 template<
typename control_t>
1254 auto result = control_t {};
1263 template<
typename control_t>
1265 auto result = control_t {};
1273 template<
typename control_t>
1275 auto result = control_t {};
1285 template<
typename control_t>
1287 auto result = control_t {};
1299 template<
typename control_t>
1301 auto result = control_t {};
1311 template<
typename control_t>
1313 auto result = control_t {};
1321 template<
typename control_t>
1323 auto result = control_t {};
1333 template<
typename control_t>
1335 auto result = control_t {};
1347 template<
typename control_t>
1349 auto result = control_t {};
1360 template<
typename control_t>
1362 auto result = control_t {};
1372 template<
typename control_t>
1374 auto result = control_t {};
1386 template<
typename control_t>
1388 auto result = control_t {};
1402 template<
typename control_t>
1404 auto result = control_t {};
1851 friend class application;
1852 friend class context_menu;
1853 friend class horizontal_layout_panel;
1855 friend class paint_event_args;
1856 friend class screen;
1857 friend class vertical_layout_panel;
2145 auto post_recreate_handle() noexcept ->
void;
2210 [[nodiscard]] auto get_state(
control::state flag) const noexcept ->
bool;
2211 auto set_state(
control::state flag,
bool value) ->
void;
2212 auto on_context_menu_item_click(
xtd::
forms::context_menu&
menu,
intptr menu_id) const ->
bool;
2216 auto do_layout_children_with_dock_style() ->
void;
2217 auto do_layout_with_auto_size_mode() ->
void;
2218 auto do_layout_with_anchor_styles() ->
void;
2219 [[nodiscard]] static auto is_trace_form_or_control(const
string&
name) ->
bool;
2220 auto on_parent_size_changed(
xtd::
object& sender, const
xtd::
event_args& e) ->
void;
2257 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:80
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
Contains xtd::forms::style_sheets::style_sheet class.