xtd 0.2.0
Loading...
Searching...
No Matches
button.h
Go to the documentation of this file.
1
4#pragma once
5#include "button_base.h"
6#include "dialog_result.h"
7#include "ibutton_control.h"
8#include "timer.h"
10#include <xtd/environment>
11
13namespace xtd {
15 namespace forms {
48 struct data;
49
50 public:
52
58
60 button(button&& rhs);
61 button(const button&) = default;
62 button& operator =(const button&) = default;
64
66
70 virtual bool auto_repeat() const noexcept;
74 virtual button& auto_repeat(bool auto_repeat);
75
78 virtual int32 auto_repeat_delay() const noexcept;
82 virtual button& auto_repeat_delay(int32 auto_repeat_delay);
83
86 virtual int32 auto_repeat_interval() const noexcept;
90 virtual button& auto_repeat_interval(int32 auto_repeat_interval);
91
94 virtual forms::auto_size_mode auto_size_mode() const noexcept;
98
99 forms::dialog_result dialog_result() const noexcept override;
102
104
106 void notify_default(bool value) override;
107
108 void perform_click() override;
110
112
116 static button create();
120 static button create(const drawing::point& location);
125 static button create(const drawing::point& location, const drawing::size& size);
131 static button create(const drawing::point& location, const drawing::size& size, const xtd::ustring& name);
135 static button create(const xtd::ustring& text);
140 static button create(const xtd::ustring& text, const drawing::point& location);
146 static button create(const xtd::ustring& text, const drawing::point& location, const drawing::size& size);
153 static button create(const xtd::ustring& text, const drawing::point& location, const drawing::size& size, const xtd::ustring& name);
157 static button create(const control& parent);
162 static button create(const control& parent, const drawing::point& location);
168 static button create(const control& parent, const drawing::point& location, const drawing::size& size);
175 static button create(const control& parent, const drawing::point& location, const drawing::size& size, const xtd::ustring& name);
180 static button create(const control& parent, const xtd::ustring& text);
186 static button create(const control& parent, const xtd::ustring& text, const drawing::point& location);
193 static button create(const control& parent, const xtd::ustring& text, const drawing::point& location, const drawing::size& size);
201 static button create(const control& parent, const xtd::ustring& text, const drawing::point& location, const drawing::size& size, const xtd::ustring& name);
203
204 protected:
206
208 forms::create_params create_params() const noexcept override;
209
212 xtd::forms::visual_styles::push_button_state state() const noexcept;
214
216
222 std::unique_ptr<xtd::object> clone() const override;
223
224 drawing::size measure_control() const noexcept override;
225
226 void on_click(const event_args& e) override;
227 void on_enabled_changed(const event_args& e) override;
228 void on_handle_created(const event_args& e) override;
229 void on_image_changed(const xtd::event_args& e) override;
230 void on_mouse_down(const mouse_event_args& e) override;
231 void on_mouse_enter(const event_args& e) override;
232 void on_mouse_leave(const event_args& e) override;
233 void on_mouse_up(const mouse_event_args& e) override;
234 void on_paint(paint_event_args& e) override;
236
237 private:
238 void auto_repeat_perform_click();
239 void on_auto_repeat_timer_tick(object& sender, const event_args& e);
240
241 std::shared_ptr<data> data_;
242 };
243 }
244}
Contains xtd::forms::button_base class.
Represents the base class for classes that contain event data, and provides a value to use for events...
Definition event_args.h:18
Implements the basic functionality common to button controls.
Definition button_base.h:35
Represents a Windows button control.
Definition button.h:47
button()
Initializes a new instance of the button class.
virtual bool auto_repeat() const noexcept
Gets if this button instance is auto repeat.
Defines the base class for controls, which are components with visual representation.
Definition control.h:79
Encapsulates the information needed when creating a control.
Definition create_params.h:27
Allows a control to act like a button on a form.
Definition ibutton_control.h:24
Provides data for the xtd::forms::control::mouse_up, xtd::forms::control::mouse_down,...
Definition mouse_event_args.h:32
Provides data for the xtd::forms::control::paint event.
Definition paint_event_args.h:28
Represents text as a sequence of UTF-8 code units.
Definition ustring.h:47
Contains xtd::forms::dialog_result enum class.
#define forms_export_
Define shared library export.
Definition forms_export.h:13
int_least32_t int32
Represents a 32-bit signed integer.
Definition types.h:131
size_t size
Represents a size of any object in bytes.
Definition types.h:197
dialog_result
Specifies identifiers to indicate the return value of a dialog box.
Definition dialog_result.h:41
auto_size_mode
Specifies how a control will behave when its auto_size property is enabled.
Definition auto_size_mode.h:20
Contains xtd::forms::ibutton_control interface.
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition xtd_about_box.h:12
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10
Contains xtd::forms::visual_styles::push_button_state enum class.
Contains xtd::forms::timer component.