GraceFt v2.3
开源图形引擎 EGE(Easy Graphics Engine) 的高层封装库
 
载入中...
搜索中...
未找到
GFt::Widget::Button类 参考

按钮控件 更多...

#include <Button.h>

+ 类 GFt::Widget::Button 继承关系图:

Public 成员函数

 Button (const iRect &rect, Block *parent=nullptr, int zIndex=0)
 
 Button (const std::wstring &text, const iRect &rect, Block *parent=nullptr, int zIndex=0)
 构造函数
 
virtual ~Button ()
 
ColorbackgroundColor ()
 按钮背景颜色
 
const ColorbackgroundColor () const
 按钮背景颜色
 
BrushSetbrushSet ()
 画刷设置
 
const BrushSetbrushSet () const
 画刷设置
 
ColordisabledColor ()
 按钮禁用颜色
 
const ColordisabledColor () const
 按钮禁用颜色
 
ColorhoverColor ()
 按钮悬停颜色
 
const ColorhoverColor () const
 按钮悬停颜色
 
bool isDisabled () const
 获取按钮禁用状态
 
ColorpressedColor ()
 按钮按下颜色
 
const ColorpressedColor () const
 按钮按下颜色
 
void setEnable (bool disabled)
 设置按钮禁用状态
 
std::wstring & text ()
 按钮文本
 
const std::wstring & text () const
 按钮文本
 
ColortextColor ()
 按钮文本颜色
 
const ColortextColor () const
 按钮文本颜色
 
TextSettextSet ()
 文本设置
 
const TextSettextSet () const
 文本设置
 
- Public 成员函数 继承自 GFt::Block
 Block (const iRect &rect, Block *parent=nullptr, int zIndex=0)
 构造函数
 
virtual ~Block ()
 
iPoint absolutePosition () const
 计算相对于屏幕的绝对坐标
 
void addChild (Block *child)
 添加子对象
 
BlockgetParent () const
 获取父对象
 
int getZIndex () const
 获取层级
 
void hide ()
 隐藏块对象
 
bool isHide () const
 获取块当前是否被隐藏
 
iPoint relativePosFrom (Block *block) const
 计算相对于指定对象的相对坐标
 
void removeChild (Block *child)
 移除子对象
 
void setParent (Block *parent)
 设置父对象
 
void setZIndex (int zIndex)
 设置层级
 
void show ()
 显示块对象
 
- Public 成员函数 继承自 GFt::GraphInterface
 GraphInterface (iRect rect)
 构造函数
 
virtual ~GraphInterface ()
 
const iRectrect () const
 
void setHeight (int height)
 
void setPosition (const iPoint &pos)
 
void setRect (const iRect &rect)
 
void setSize (const iSize &size)
 
void setWidth (int width)
 
void setX (int x)
 
void setY (int y)
 

Public 属性

Signal< void > onClicked
 按钮点击信号
 
Signal< void > onReleased
 按钮释放信号
 
Signal< bool > onStatusChanged
 按钮状态改变信号
 
- Public 属性 继承自 GFt::Block
Signal< Block * > FocusOff
 当该对象失去焦点时触发该信号
 
Signal< Block * > FocusOn
 当该对象获得焦点时触发该信号
 
Signal< Block * > HoverOff
 当鼠标移开该对象时之上时触发该信号
 
Signal< Block * > HoverOn
 当鼠标悬停该对象时之上时触发该信号
 
Signal< bool > ViewChanged
 当该对象显示状态变化时触发该信号
 
- Public 属性 继承自 GFt::GraphInterface
Signal< const iPoint & > onPositionChanged
 
Signal< const iSize & > onSizeChanged
 

Protected 成员函数

void onDraw (Graphics &g) override
 此函数用于绘制内容
 
void onMouseButtonPress (MouseButtonPressEvent *event) override
 此函数用于处理鼠标按钮按下事件
 
void onMouseButtonRelease (MouseButtonReleaseEvent *event) override
 此函数用于处理鼠标按钮释放事件
 
- Protected 成员函数 继承自 GFt::Block
void onKeyPress (KeyPressEvent *event) override
 此函数用于处理键盘按键按下事件
 
void onKeyRelease (KeyReleaseEvent *event) override
 此函数用于处理键盘按键释放事件
 
void onMouseMove (MouseMoveEvent *event) override
 此函数用于处理鼠标移动事件
 
void onMouseWheel (MouseWheelEvent *event) override
 此函数用于处理鼠标滚轮事件
 
void onTextInput (TextInputEvent *event) override
 此函数用于处理文本输入事件
 
- Protected 成员函数 继承自 GFt::GraphInterface
- Protected 成员函数 继承自 GFt::MouseButtonPressEventMonitor
- Protected 成员函数 继承自 GFt::MouseButtonReleaseEventMonitor
- Protected 成员函数 继承自 GFt::MouseMoveEventMonitor
- Protected 成员函数 继承自 GFt::MouseWheelEventMonitor
- Protected 成员函数 继承自 GFt::KeyPressEventMonitor
- Protected 成员函数 继承自 GFt::KeyReleaseEventMonitor
- Protected 成员函数 继承自 GFt::TextInputEventMonitor

详细描述

按钮控件

构造及析构函数说明

◆ Button() [1/2]

GFt::Widget::Button::Button ( const std::wstring & text,
const iRect & rect,
Block * parent = nullptr,
int zIndex = 0 )

构造函数

参数
text按钮文本
rect按钮矩形区域
parent父控件
zIndex控件层级

◆ Button() [2/2]

GFt::Widget::Button::Button ( const iRect & rect,
Block * parent = nullptr,
int zIndex = 0 )

◆ ~Button()

GFt::Widget::Button::~Button ( )
virtual

成员函数说明

◆ backgroundColor() [1/2]

Color & GFt::Widget::Button::backgroundColor ( )

按钮背景颜色

◆ backgroundColor() [2/2]

const Color & GFt::Widget::Button::backgroundColor ( ) const

按钮背景颜色

参见
backgroundColor()

◆ brushSet() [1/2]

BrushSet & GFt::Widget::Button::brushSet ( )

画刷设置

◆ brushSet() [2/2]

const BrushSet & GFt::Widget::Button::brushSet ( ) const

画刷设置

参见
brushSet()

◆ disabledColor() [1/2]

Color & GFt::Widget::Button::disabledColor ( )

按钮禁用颜色

◆ disabledColor() [2/2]

const Color & GFt::Widget::Button::disabledColor ( ) const

按钮禁用颜色

参见
disabledColor()

◆ hoverColor() [1/2]

Color & GFt::Widget::Button::hoverColor ( )

按钮悬停颜色

◆ hoverColor() [2/2]

const Color & GFt::Widget::Button::hoverColor ( ) const

按钮悬停颜色

参见
hoverColor()

◆ isDisabled()

bool GFt::Widget::Button::isDisabled ( ) const

获取按钮禁用状态

◆ onDraw()

void GFt::Widget::Button::onDraw ( Graphics & g)
overrideprotectedvirtual

此函数用于绘制内容

参数
g绘图设备对象

此函数会在每一帧绘制时被调用, 用于绘制内容

注解
若启用了裁剪优化,且此对象所在位置不与父对象的区域存在交集, 则此函数不会被调用
由于此函数会在每帧渲染时调用,因而应尽量避免过多的计算、创建和销毁临时对象,以提高效率。
渲染帧时长(可通过 Application::getRenderTime() 获取)最好控制在16ms以内,否则会引发较为明显的卡顿

重载 GFt::Block .

◆ onMouseButtonPress()

void GFt::Widget::Button::onMouseButtonPress ( MouseButtonPressEvent * event)
overrideprotectedvirtual

此函数用于处理鼠标按钮按下事件

此函数存在默认行为:当此对象被点击时捕获焦点

参数
event鼠标按钮按下事件
注解
鼠标处理函数会依据鼠标位置进行事件的捕获决断, 并将事件传递给相应的对象进行处理
具体的决断逻辑为:从根节点开始,查找首个满足鼠标位置在其区域内的对象,以该对象 为根节点再次重复此操作,直到某个对象不存在满足条件的子对象,则将事件传递给该对 象进行处理。该对象处理后若冒泡行为未被阻止,则再向上冒泡(即向父对象传递事件), 直到根节点。
鼠标事件处理示意图

重载 GFt::Block .

◆ onMouseButtonRelease()

void GFt::Widget::Button::onMouseButtonRelease ( MouseButtonReleaseEvent * event)
overrideprotectedvirtual

此函数用于处理鼠标按钮释放事件

参数
event鼠标按钮释放事件
参见
onMouseButtonPress

重载 GFt::Block .

◆ pressedColor() [1/2]

Color & GFt::Widget::Button::pressedColor ( )

按钮按下颜色

◆ pressedColor() [2/2]

const Color & GFt::Widget::Button::pressedColor ( ) const

按钮按下颜色

参见
pressedColor()

◆ setEnable()

void GFt::Widget::Button::setEnable ( bool disabled)

设置按钮禁用状态

◆ text() [1/2]

std::wstring & GFt::Widget::Button::text ( )

按钮文本

◆ text() [2/2]

const std::wstring & GFt::Widget::Button::text ( ) const

按钮文本

参见
text()

◆ textColor() [1/2]

Color & GFt::Widget::Button::textColor ( )

按钮文本颜色

◆ textColor() [2/2]

const Color & GFt::Widget::Button::textColor ( ) const

按钮文本颜色

参见
textColor()

◆ textSet() [1/2]

TextSet & GFt::Widget::Button::textSet ( )

文本设置

◆ textSet() [2/2]

const TextSet & GFt::Widget::Button::textSet ( ) const

文本设置

参见
textSet()

类成员变量说明

◆ onClicked

Signal<void> GFt::Widget::Button::onClicked

按钮点击信号

◆ onReleased

Signal<void> GFt::Widget::Button::onReleased

按钮释放信号

◆ onStatusChanged

Signal<bool> GFt::Widget::Button::onStatusChanged

按钮状态改变信号