SimpleWindow
载入中...
搜索中...
未找到
SpinBox.h
1
#pragma once
2
3
#include "ObservableCollection.h"
4
#include "TextBoxBase.h"
5
6
namespace
sw
7
{
11
class
SpinBox
:
public
TextBoxBase
12
{
13
private
:
17
HWND
_hUpDown =
NULL
;
18
22
int
_upDownWidth = 0;
23
27
ObservableCollection<UDACCEL>
_accels;
28
29
public
:
33
const
Property<int>
Minimum
;
34
38
const
Property<int>
Maximum
;
39
43
const
Property<int>
Value
;
44
48
const
Property<bool>
Hexadecimal
;
49
53
const
Property<uint32_t>
Increment
;
54
58
const
ReadOnlyProperty<ObservableCollection<UDACCEL>
*>
Accelerations
;
59
60
public
:
64
SpinBox
();
65
66
protected
:
70
virtual
void
OnTextChanged
()
override
;
71
76
virtual
void
OnHandleChanged
(
HWND
hwnd)
override
;
77
83
virtual
bool
OnMove
(
const
Point
&newClientPosition)
override
;
84
90
virtual
bool
OnSize
(
const
Size
&newClientSize)
override
;
91
97
virtual
bool
OnKillFocus
(
HWND
hNextFocus
)
override
;
98
99
private
:
103
void
_InitSpinBox();
104
108
void
_InitUpDownControl();
109
114
int
_GetPos32();
115
120
void
_SetPos32(
int
pos);
121
128
void
_GetRange32(
int
*
min
,
int
*
max
);
129
135
void
_SetRange32(
int
min
,
int
max
);
136
142
void
_SetAccel(
size_t
count
,
UDACCEL
*
pAccels
);
143
147
void
_UpdateUpDownPos();
148
154
void
_AccelerationCollectionChangedHandler(
155
INotifyCollectionChanged
&
sender
,
NotifyCollectionChangedEventArgs
&
args
);
156
};
157
};
sw::INotifyCollectionChanged
支持集合变更通知的接口
Definition
INotifyCollectionChanged.h:61
sw::IValueConverter
值转换器接口
Definition
IValueConverter.h:14
sw::NotifyCollectionChangedEventArgs
集合变更事件参数类型
Definition
INotifyCollectionChanged.h:33
sw::SpinBox
数值调节框
Definition
SpinBox.h:12
sw::SpinBox::OnMove
virtual bool OnMove(const Point &newClientPosition) override
接收到WM_MOVE时调用该函数
sw::SpinBox::Minimum
const Property< int > Minimum
最小值,默认为0
Definition
SpinBox.h:33
sw::SpinBox::OnHandleChanged
virtual void OnHandleChanged(HWND hwnd) override
控件句柄发生改变时调用该函数
sw::SpinBox::Maximum
const Property< int > Maximum
最大值,默认为100
Definition
SpinBox.h:38
sw::SpinBox::OnTextChanged
virtual void OnTextChanged() override
Text属性更改时调用此函数
sw::SpinBox::Hexadecimal
const Property< bool > Hexadecimal
是否显示为十六进制,默认为false
Definition
SpinBox.h:48
sw::SpinBox::Value
const Property< int > Value
当前值,默认为0
Definition
SpinBox.h:43
sw::SpinBox::Increment
const Property< uint32_t > Increment
每次点击UpDown控件时增量,默认为1
Definition
SpinBox.h:53
sw::SpinBox::OnSize
virtual bool OnSize(const Size &newClientSize) override
接收到WM_SIZE时调用该函数
sw::SpinBox::Accelerations
const ReadOnlyProperty< ObservableCollection< UDACCEL > * > Accelerations
加速信息集合,默认为包含一个元素(0秒后增量为1)的集合
Definition
SpinBox.h:58
sw::SpinBox::SpinBox
SpinBox()
初始化数值调节框
sw::SpinBox::OnKillFocus
virtual bool OnKillFocus(HWND hNextFocus) override
接收到WM_KILLFOCUS时调用该函数
sw::TextBoxBase
窗口类名为EDIT的控件类型的基类
Definition
TextBoxBase.h:11
sw
SimpleWindow框架的顶级命名空间,所有公共类型、控件、枚举和工具函数均定义于此。
Definition
Alignment.h:4
sw::Point
表示相对于左上角的点坐标
Definition
Point.h:15
sw::Size
尺寸
Definition
Size.h:15
sw
inc
SpinBox.h
制作者
1.9.8