SimpleWindow
载入中...
搜索中...
未找到
ButtonBase.h
1#pragma once
2
3#include "Control.h"
4
5namespace sw
6{
10 class ButtonBase : public Control
11 {
12 private:
16 using TBase = Control;
17
21 bool _autoSize = false;
22
23 public:
28
33
38
39 public:
44
48 virtual ~ButtonBase() = 0;
49
50 protected:
55
59 virtual void OnClicked();
60
64 virtual void OnDoubleClicked();
65
70 virtual void OnCommand(int code) override;
71
77 virtual Size MeasureOverride(const Size &availableSize) override;
78
79 private:
83 void _UpdateLayoutFlags();
84
89 bool _GetIdealSize(SIZE &size);
90
95 bool _GetTextMargin(RECT &rect);
96
101 bool _SetTextMargin(RECT &rect);
102 };
103}
窗口类名为BUTTON的控件类型的基类
Definition ButtonBase.h:11
virtual ~ButtonBase()=0
析构函数,这里用纯虚函数使该类成为抽象类
virtual void OnClicked()
被单击时调用该函数
void InitButtonBase(LPCWSTR lpWindowName, DWORD dwStyle, DWORD dwExStyle)
初始化控件
const Property< bool > AutoSize
是否自动调整大小以适应内容
Definition ButtonBase.h:27
const Property< Thickness > TextMargin
文本边距
Definition ButtonBase.h:37
virtual void OnDoubleClicked()
被双击时调用该函数
virtual Size MeasureOverride(const Size &availableSize) override
测量元素所需尺寸,无需考虑边框和边距
virtual void OnCommand(int code) override
当父窗口接收到控件的WM_COMMAND时调用该函数
ButtonBase()
初始化ButtonBase
const Property< bool > MultiLine
文本过长时是否自动换行
Definition ButtonBase.h:32
控件
Definition Control.h:12
Control()
初始化控件
值转换器接口
Definition IValueConverter.h:14
SimpleWindow框架的顶级命名空间,所有公共类型、控件、枚举和工具函数均定义于此。
Definition Alignment.h:4
尺寸
Definition Size.h:15