4#include "ScrollEnums.h"
18 bool _autoSize =
true;
28 bool _horizontalScrollDisabled =
true;
33 bool _verticalScrollDisabled =
true;
38 bool _mouseWheelScrollEnabled =
true;
114 virtual void OnScroll(ScrollOrientation scrollbar, ScrollEvent event,
double pos);
260 void _MeasureAndArrangeWithoutLayout();
265 void _MeasureAndArrangeWithoutResize(
LayoutHost &layout,
const Size &clientSize);
表示可以设置布局方式的元素类型,如窗口、面板等
Definition Layer.h:13
void GetVerticalScrollRange(double &refMin, double &refMax)
获取纵向滚动条的范围
virtual void Arrange(const sw::Rect &finalPosition) override
安排元素位置
double GetHorizontalScrollPageSize()
获取水平滚动条滚动页面大小
const Property< bool > HorizontalScrollBar
是否显示横向滚动条
Definition Layer.h:54
virtual bool RequestBringIntoView(const sw::Rect &screenRect) override
尝试将指定的矩形区域移动到可视区域内
void SetVerticalScrollRange(double min, double max)
设置纵向滚动条的范围
virtual LayoutHost * GetDefaultLayout()
获取默认布局对象
const ReadOnlyProperty< double > HorizontalScrollLimit
横向滚动条可设置的最大位置
Definition Layer.h:74
virtual Size MeasureOverride(const Size &availableSize) override
测量元素所需尺寸,无需考虑边框和边距
virtual void OnRoutedEvent(RoutedEventArgs &eventArgs, const RoutedEventHandler &handler) override
路由事件经过当前元素时调用该函数
void GetHorizontalScrollRange(double &refMin, double &refMax)
获取横向滚动条的范围
void ScrollVertical(double offset)
垂直滚动
void ScrollToBottom()
将垂直滚动条移动到底部
const Property< bool > MouseWheelScrollEnabled
是否在鼠标滚动时滚动内容
Definition Layer.h:84
void SetVerticalScrollPageSize(double pageSize)
设置垂直滚动条滚动页面大小
virtual void ArrangeOverride(const Size &finalSize) override
安排子元素的位置,可重写该函数以实现自定义布局
void ScrollHorizontal(double offset)
水平滚动
virtual ~Layer()=0
析构函数,这里用纯虚函数使该类成为抽象类
void ScrollToLeft()
将水平滚动条移动到最左
void SetHorizontalScrollRange(double min, double max)
设置横向滚动条的范围
virtual bool OnHorizontalScroll(int event, int pos) override
接收到WM_HSCROLL时调用目标控件的该函数
void UpdateScrollRange()
根据子元素更新滚动条范围,未设定布局方式时该函数无效
virtual bool OnVerticalScroll(int event, int pos) override
接收到WM_VSCROLL时调用目标控件的该函数
void ScrollToTop()
将垂直滚动条移动到顶部
const Property< LayoutHost * > Layout
自定义的布局方式,赋值后将自动与所指向的布局关联,每个布局只能关联一个对象,设为nullptr可恢复默认布局
Definition Layer.h:44
const Property< bool > AutoSize
是否按照布局方式与子元素自动调整尺寸,该属性仅在当前元素已设置布局方式并且非顶级元素时有效
Definition Layer.h:49
const Property< double > VerticalScrollPos
纵向滚动条位置
Definition Layer.h:69
const Property< double > HorizontalScrollPos
横向滚动条位置
Definition Layer.h:64
const ReadOnlyProperty< double > VerticalScrollLimit
纵向滚动条可设置的最大位置
Definition Layer.h:79
void SetHorizontalScrollPageSize(double pageSize)
设置水平滚动条滚动页面大小
const Property< bool > VerticalScrollBar
是否显示纵向滚动条
Definition Layer.h:59
void ScrollToRight()
将水平滚动条移动到最右
virtual void OnScroll(ScrollOrientation scrollbar, ScrollEvent event, double pos)
触发滚动条相关事件时调用该函数
double GetVerticalScrollPageSize()
获取垂直滚动条滚动页面大小
用于托管元素的布局方式的对象类型,是所有布局方式类型的基类
Definition LayoutHost.h:11
属性
Definition Property.h:1743
只读属性
Definition Property.h:1828
表示界面中的元素
Definition UIElement.h:90
表示一个矩形区域
Definition Rect.h:17
路由事件的参数
Definition RoutedEvent.h:149