xtd 0.2.0
panel.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "border_sides.hpp"
6#include "border_style.hpp"
8#include <xtd/optional>
9
11namespace xtd {
13 namespace forms {
33 struct data;
34
35 public:
37
42
44
48 virtual forms::auto_size_mode auto_size_mode() const noexcept;
53
56 virtual forms::border_sides border_sides() const noexcept;
60
64 virtual forms::border_style border_style() const noexcept;
74 virtual panel& border_style(std::nullptr_t border_style);
76
78
82 static panel create();
86 static panel create(const drawing::point& location);
91 static panel create(const drawing::point& location, const drawing::size& size);
97 static panel create(const drawing::point& location, const drawing::size& size, const xtd::string& name);
101 static panel create(const control& parent);
106 static panel create(const control& parent, const drawing::point& location);
112 static panel create(const control& parent, const drawing::point& location, const drawing::size& size);
119 static panel create(const control& parent, const drawing::point& location, const drawing::size& size, const xtd::string& name);
121
122 protected:
124
126 forms::create_params create_params() const noexcept override;
128
130
136 xtd::uptr<xtd::object> clone() const override;
137
138 drawing::size measure_control() const noexcept override;
139 void on_layout(const event_args& e) override;
140 void on_paint(paint_event_args& e) override;
142
143 private:
144 xtd::sptr<data> data_;
145 };
146 }
147}
Contains xtd::forms::border_sides enum class.
Contains xtd::forms::border_style enum class.
Represents the base class for classes that contain event data, and provides a value to use for events...
Definition event_args.hpp:18
Defines the base class for controls, which are components with visual representation.
Definition control.hpp:81
virtual drawing::point location() const noexcept
Gets the coordinates of the upper-left corner of the control relative to the upper-left corner of its...
virtual const xtd::string & name() const noexcept
Gets the name of the control.
virtual drawing::size size() const noexcept
Gets the height and width of the control.
virtual std::optional< control_ref > parent() const noexcept
Gets the parent container of the control.
Provides data for the xtd::forms::control::paint event.
Definition paint_event_args.hpp:30
virtual forms::auto_size_mode auto_size_mode() const noexcept
Gets the mode by which the panel automatically resizes itself.
static panel create()
A factory to create an xtd::forms::panel.
virtual forms::border_style border_style() const noexcept
Gets the border style for the control.
forms::create_params create_params() const noexcept override
Gets the required creation parameters when the control handle is created.
panel()
Initialises a new instance of panel class.
void on_layout(const event_args &e) override
Raises the xtd::forms::control::layout event.
void on_paint(paint_event_args &e) override
Raises the xtd::forms::control::paint event.
xtd::uptr< xtd::object > clone() const override
Creates a new object that is a copy of the current instance.
drawing::size measure_control() const noexcept override
Measure this control.
virtual forms::border_sides border_sides() const noexcept
Gets the border sides for the control.
scrollable_control()
Initialize a new instance of scrollable_control class.
#define forms_export_
Define shared library export.
Definition forms_export.hpp:13
xtd::shared_ptr_object< type_t > sptr
The xtd::sptr object is a shared pointer.
Definition sptr.hpp:25
xtd::unique_ptr_object< type_t > uptr
The xtd::uptr object is a unique pointer.
Definition uptr.hpp:25
auto_size_mode
Specifies how a control will behave when its auto_size property is enabled.
Definition auto_size_mode.hpp:22
@ e
The E key.
Definition keys.hpp:207
The xtd::drawing namespace provides access to GDI+ basic graphics functionality. More advanced functi...
Definition actions_system_images.hpp:10
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition texts.hpp:217
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
constexpr const_pointer data() const noexcept
Gets direct access to the underlying contiguous storage.
Definition read_only_span.hpp:201
Contains xtd::forms::scrollable_control control.