awtk/docs/manual/draggable_t.md
2020-08-16 09:10:01 +08:00

10 KiB
Raw Blame History

draggable_t

概述

image

将draggable放入目标控件即可让目标控件或当前窗口可以被拖动。

draggable_t是widget_t的子类控件widget_t的函数均适用于draggable_t控件。

在xml中使用"draggable"标签创建draggable控件。如

<button text="Drag Me" w="80" h="40" x="10" y="10">
<draggable />
</button>

拖动对话框标题时移动对话框:

<dialog_title x="0" y="0" w="100%" h="30" text="Hello AWTK" >
<draggable drag_window="true"/>
</dialog_title>

更多用法请参考: draggable.xml

在c代码中使用函数draggable_create创建按钮控件。如

widget_t* draggable = draggable_create(target, 0, 0, 0, 0);

draggable本身不可见故无需style。


函数

函数名称 说明
draggable_cast 转换为draggable对象(供脚本语言使用)。
draggable_create 创建draggable对象
draggable_set_bottom 设置bottom。
draggable_set_drag_window 设置drag_window。
draggable_set_horizontal_only 设置horizontal_only。
draggable_set_left 设置left。
draggable_set_right 设置right。
draggable_set_top 设置top。
draggable_set_vertical_only 设置vertical_only。

属性

属性名称 类型 说明
bottom int32_t 拖动范围的底部限制。缺省为父控件的底部。
drag_window bool_t 拖动窗口而不是父控件。比如放在对话框的titlebar上拖动titlebar其实是希望拖动对话框。
horizontal_only bool_t 只允许水平拖动。
left int32_t 拖动范围的左边限制。缺省为父控件的左边。
right int32_t 拖动范围的右边限制。缺省为父控件的右边边。
top int32_t 拖动范围的顶部限制。缺省为父控件的顶部。
vertical_only bool_t 只允许垂直拖动。

draggable_cast 函数


  • 函数功能:

转换为draggable对象(供脚本语言使用)。

  • 函数原型:
widget_t* draggable_cast (widget_t* widget);
  • 参数说明:
参数 类型 说明
返回值 widget_t* draggable对象。
widget widget_t* draggable对象。

draggable_create 函数


  • 函数功能:

创建draggable对象

  • 函数原型:
widget_t* draggable_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h);
  • 参数说明:
参数 类型 说明
返回值 widget_t* 对象。
parent widget_t* 父控件
x xy_t x坐标
y xy_t y坐标
w wh_t 宽度
h wh_t 高度

draggable_set_bottom 函数


  • 函数功能:

设置bottom。

  • 函数原型:
ret_t draggable_set_bottom (widget_t* widget, int32_t bottom);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
widget widget_t* widget对象。
bottom int32_t 拖动范围的底部限制。缺省为父控件的底部。

draggable_set_drag_window 函数


  • 函数功能:

设置drag_window。

拖动窗口而不是父控件。比如放在对话框的titlebar上拖动titlebar其实是希望拖动对话框。

  • 函数原型:
ret_t draggable_set_drag_window (widget_t* widget, bool_t drag_window);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
widget widget_t* widget对象。
drag_window bool_t drag_window

draggable_set_horizontal_only 函数


  • 函数功能:

设置horizontal_only。

  • 函数原型:
ret_t draggable_set_horizontal_only (widget_t* widget, bool_t horizontal_only);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
widget widget_t* widget对象。
horizontal_only bool_t 只允许水平拖动。

draggable_set_left 函数


  • 函数功能:

设置left。

  • 函数原型:
ret_t draggable_set_left (widget_t* widget, int32_t left);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
widget widget_t* widget对象。
left int32_t 拖动范围的左边限制。缺省为父控件的左边。

draggable_set_right 函数


  • 函数功能:

设置right。

  • 函数原型:
ret_t draggable_set_right (widget_t* widget, int32_t right);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
widget widget_t* widget对象。
right int32_t 拖动范围的右边限制。缺省为父控件的右边边。

draggable_set_top 函数


  • 函数功能:

设置top。

  • 函数原型:
ret_t draggable_set_top (widget_t* widget, int32_t top);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
widget widget_t* widget对象。
top int32_t 拖动范围的顶部限制。缺省为父控件的顶部。

draggable_set_vertical_only 函数


  • 函数功能:

设置vertical_only。

  • 函数原型:
ret_t draggable_set_vertical_only (widget_t* widget, bool_t vertical_only);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
widget widget_t* widget对象。
vertical_only bool_t 只允许垂直拖动。

bottom 属性


拖动范围的底部限制。缺省为父控件的底部。

  • 类型int32_t
特性 是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改

drag_window 属性


拖动窗口而不是父控件。比如放在对话框的titlebar上拖动titlebar其实是希望拖动对话框。

  • 类型bool_t
特性 是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改

horizontal_only 属性


只允许水平拖动。

  • 类型bool_t
特性 是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改

left 属性


拖动范围的左边限制。缺省为父控件的左边。

  • 类型int32_t
特性 是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改

right 属性


拖动范围的右边限制。缺省为父控件的右边边。

  • 类型int32_t
特性 是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改

top 属性


拖动范围的顶部限制。缺省为父控件的顶部。

  • 类型int32_t
特性 是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改

vertical_only 属性


只允许垂直拖动。

  • 类型bool_t
特性 是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改