xtd 0.2.0
scrollable_control.h
Go to the documentation of this file.
1 #pragma once
5 #include "control.h"
6 #include "system_information.h"
7 
9 namespace xtd {
11  namespace forms {
20  class forms_export_ scrollable_control : public control {
21  struct data;
22 
23  public:
25 
29  virtual bool auto_scroll() const noexcept;
33  virtual scrollable_control& auto_scroll(bool auto_scroll);
34 
37  drawing::size auto_scroll_margin() const noexcept;
41  scrollable_control& auto_scroll_margin(const drawing::size& value);
42 
45  drawing::rectangle display_rectangle() const noexcept override;
46 
49  virtual bool h_scroll() const noexcept;
53  virtual scrollable_control& h_scroll(bool h_scroll);
54 
57  virtual bool v_scroll() const noexcept;
61  virtual scrollable_control& v_scroll(bool v_scroll);
63 
64  protected:
66 
71 
73 
75  forms::create_params create_params() const noexcept override;
77 
79 
81  void on_layout(const event_args& e) override;
83 
84  private:
85  std::shared_ptr<data> data_;
86  };
87  }
88 }
Represents the base class for classes that contain event data, and provides a value to use for events...
Definition: event_args.h:18
Stores an ordered pair of integers, which specify a height and width.
Definition: size.h:31
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
Encapsulates the information needed when creating a control.
Definition: create_params.h:27
Contains xtd::forms::system_information class.
Defines a base class for controls that support auto-scrolling behavior.
Definition: scrollable_control.h:20
Stores a set of four integers that represent the location and size of a rectangle.
Definition: rectangle.h:44
Defines the base class for controls, which are components with visual representation.
Definition: control.h:78
Contains xtd::forms::control control.
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition: about_box.h:13