本章将简单展示按钮类控件的相关接口。其中,切换按钮
使用的是switch控件的方法,其他按钮如功能键,按钮型,开关型都使用的是button控件方法,如下图所示
/**
* @LEVEL0
* @brief 开启
*/
STTSwitch* on();
/**
* @LEVEL0
* @brief 关闭
*/
STTSwitch* off();
/**
* @LEVEL0
* @brief 开关切换
*/
STTSwitch* toggle();
/**
* @LEVEL0
* @brief 是否开启状态
*/
bool isOn();
/**
* @LEVEL2
* @brief 设置基本参数
* @param x 位置x
* @param y 位置y
* @param w 宽度
* @param h 高度
* @param ison 初始状态: true~开启 false~关闭
* @param isbeep 是否打开蜂鸣器
*/
void setMainArg(int x=0, int y=0, int w=20, int h=15, bool ison = false, bool isbeep=false);
/**
* @LEVEL2
* @brief 设置基本样式
* @param r 圆前半径
* @param c1 主色(渐变时的起始色)
* @param c2 渐变时的终止色
* @param dir 渐变方向 0~不渐变 1~上下 2~左右
* @param w_border 边框线粗细
* @param c_border 边框线颜色
* @param w_shadow 阴影宽度
* @param c_shadow 阴影颜色
*/
void setMainStyle(int r, int c1, int c2, int dir, int w_border, int c_border, int w_shadow, int c_shadow);
/**
* @LEVEL2
* @brief 设置指示条样式
* @param r 圆前半径
* @param c1 主色(渐变时的起始色)
* @param c2 渐变时的终止色
* @param dir 渐变方向 0~不渐变 1~上下 2~左右
* @param w_border 边框线粗细
* @param c_border 边框线颜色
* @param w_shadow 阴影宽度
* @param c_shadow 阴影颜色
*/
void setIndicStyle(int r, int c1, int c2, int dir, int w_border, int c_border, int w_shadow, int c_shadow);
/**
* @LEVEL2
* @brief 设置滑动块样式参数
* @param r 圆前半径
* @param c1 主色(渐变时的起始色)
* @param c2 渐变时的终止色
* @param dir 渐变方向 0~不渐变 1~上下 2~左右
* @param w_border 边框线粗细
* @param c_border 边框线颜色
* @param w_shadow 阴影宽度
* @param c_shadow 阴影颜色
*/
void setKnobStyle(int r, int c1, int c2, int dir, int w_border, int c_border, int w_shadow, int c_shadow);
wMSwitch1->isOn();
/**
* @LEVEL2
* @brief 设置基本参数
* @param x X坐标(默认0)
* @param y Y坐标(默认0)
* @param w 宽度(默认100)
* @param h 高度(默认50)
* @param isbeep 是否打开蜂鸣器
*/
void setMainArg(int x=0, int y=0, int w=100, int h=50, bool isbeep=false);
/**
* @LEVEL2
* @brief 设置松开时文字
* @param title 文字内容(默认Button)
* @param c_title 文字颜色(默认0x0)
* @param fontname 文字字体名称(默认"")
* @param fontsize 文字字体大小(默认16)
*/
void setReleasedArg(const string& title="Button", int c_title=0x0, const string& fontname="", int fontsize=16, int fontstyle=0);
/**
* @LEVEL2
* @brief 设置松开时样式
* @param r 圆角半径(默认8)
* @param opa 背景透明度(默认255)
* @param c1 背景色:主色(默认0xffffff)
* @param c2 背景色:次色(渐变)(默认0xffffff)
* @param dir 渐变方向(默认0不渐变), 1~上下 2~左右
* @param w_bord 边框宽(默认2)
* @param c_bord 边框色(默认0x1a2b3)
* @param w_shadow 阴影宽(默认0)
* @param c_shadow 阴影色(默认0x0)
* @param img 背景图(默认"")
*/
void setReleasedStyle(int r = 8, int opa = 255, int c1 = 0xffffff, int c2 = 0xffffff, int dir = 0, int w_bord = 2, int c_bord = 0x1a2b3, int w_shadow=0,
int c_shadow=0x0, const string& img = "");
/**
* @LEVEL2
* @brief 设置按下时文字
* @param title 文字内容(默认Button)
* @param c_title 文字颜色(默认0x0)
* @param fontname 文字字体名称(默认"")
* @param fontsize 文字字体大小(默认16)
*/
void setPressedArg(const string& title="Button", int c_title=0x0, const string& fontname="", int fontsize=16, int fontstyle=0);
/**
* @LEVEL2
* @brief 设置按下时样式
* @param r 圆角半径(默认8)
* @param opa 背景透明度(默认255)
* @param c1 背景色:主色(默认0xffffff)
* @param c2 背景色:次色(渐变)(默认0xffffff)
* @param dir 渐变方向(默认0不渐变), 1~上下 2~左右
* @param w_bord 边框宽(默认2)
* @param c_bord 边框色(默认0x1a2b3)
* @param w_shadow 阴影宽(默认0)
* @param c_shadow 阴影色(默认0x0)
* @param img 背景图(默认"")
*/
void setPressedStyle(int r = 8, int opa = 255, int c1 = 0xffffff, int c2 = 0xffffff, int dir = 0, int w_bord = 2, int c_bord = 0x1a2b3, int w_shadow=0, int c_shadow=0x0, const string & img = "");
/**
* @LEVEL1
* @brief 设定状态及其对应的图片路径
* @param state 自定义的状态值
* @param path 状态对应的图片路径
* @param title 状态对应的文本,文字太长可能导致图片不显示
*/
void setImg(const string& state, const string& path, const string & title = "");
/**
* @LEVEL1
* @brief 获取指定状态的图片路径
* 没有相应状态时,会返回空串
* @param state 状态值
*/
string getImg(const string& state);
/**
* @LEVEL0
* @brief 设置状态及对应标题
* @param state 状态值
* @param title 状态标题
*/
void setTitle(const string& state, const string & title);
/**
* @LEVEL0
* @brief 获取状态对应的标题
* @param state 状态
* @return
*/
string getTitle(const string& state);
/**
* @LEVEL0
* @brief 设为指定状态,显示相应的图片
* @param state 指定状态值。如未添加状态,则无效。
*/
void setState(const string& state);
/**
* @LEVEL0
* @brief 获取当前显示图片对应的状态
*/
string getState();
/**
* @LEVEL1
* @brief 启用状态标签
*/
void enStateLabel();
/**
* @LEVEL2
* @brief 获取标签
*/
SttLabel getStateLabel();
wMButton2->setTitle("0","0状态时的标题");