SimpleWindow
载入中...
搜索中...
未找到
TabControl.h
1#pragma once
2
3#include "Control.h"
4#include <CommCtrl.h>
5
6namespace sw
7{
11 enum class TabAlignment {
12 Top, // 顶部
13 Bottom, // 底部
14 Left, // 左边
15 Right // 右边
16 };
17
21 class TabControl : public Control
22 {
23 private:
27 bool _autoSize = true;
28
29 public:
34
39
44
49
54
55 public:
60
65
69 void UpdateTab();
70
75 void UpdateTabText(int index);
76
77 protected:
82 virtual void OnAddedChild(UIElement &element) override;
83
88 virtual void OnRemovedChild(UIElement &element) override;
89
95 virtual Size MeasureOverride(const Size &availableSize) override;
96
101 virtual void ArrangeOverride(const Size &finalSize) override;
102
109 virtual bool OnNotified(NMHDR *pNMHDR, LRESULT &result) override;
110
115
116 private:
120 void _SetTabAlignment(TabAlignment value);
121
125 void _UpdateChildVisible(bool invalidMeasure = true);
126
130 int _InsertItem(int index, TCITEMW &item);
131
135 bool _SetItem(int index, TCITEMW &item);
136
140 bool _DeleteItem(int index);
141
145 bool _DeleteAllItems();
146
150 void _CalcContentRect(RECT &rect);
151
155 void _CalcIdealSize(SIZE &size);
156
160 UIElement *_GetSelectedItem();
161 };
162}
控件
Definition Control.h:12
属性
Definition Property.h:1743
只读属性
Definition Property.h:1828
标签页控件
Definition TabControl.h:22
const Property< TabAlignment > Alignment
标签的位置
Definition TabControl.h:43
const ReadOnlyProperty< sw::Rect > ContentRect
内容区域位置与尺寸
Definition TabControl.h:33
virtual void OnRemovedChild(UIElement &element) override
移除子元素后调用该函数
const Property< bool > AutoSize
是否自动调整大小以适应当前页面内容,默认为true
Definition TabControl.h:53
virtual bool OnNotified(NMHDR *pNMHDR, LRESULT &result) override
父窗口接收到WM_NOTIFY后且父窗口OnNotify函数返回false时调用发出通知控件的该函数
TabControl()
初始化标签页控件
const Property< int > SelectedIndex
当前页面的索引
Definition TabControl.h:38
virtual void OnSelectedIndexChanged()
SelectedIndex属性更改时调用该函数
virtual void OnAddedChild(UIElement &element) override
添加子元素后调用该函数
virtual Size MeasureOverride(const Size &availableSize) override
测量元素所需尺寸,无需考虑边框和边距
void UpdateTabText(int index)
更新指定索引处页面项的文本
int GetTabCount()
获取标签项的数量
void UpdateTab()
更新标签项信息
const Property< bool > MultiLine
是否开启多行标签
Definition TabControl.h:48
virtual void ArrangeOverride(const Size &finalSize) override
安排子元素的位置,可重写该函数以实现自定义布局
表示界面中的元素
Definition UIElement.h:90
尺寸
Definition Size.h:15