aardio 文档

win.ui.ctrl.splitter 库模块帮助文档

用法说明

要点:

  1. 使用控件的 split 函数拆分多个控件。

    例如:

    winform.splitter1.split( winform.edit1,winform.edit2 )  
    

    参数也可以是控件数组,每个控件数组必须包含位于拆分条同一侧的控件。

    例如:

    winform.splitter1.split( winform.edit1,{ winform.edit2,winform.edit3} )  
    
  2. 在调整窗口大小时,拆分条会负责让被拆分的控件吸附在自己的两侧。

    但是被拆分控件以及拆分条本身的其他固定边距属性、自适应大小属性应当自行根据需要设置。

教程 - 使用拆分控件 范例 - 使用拆分条 范例 - 自缩放编辑框

win.ui.ctrl 成员列表 #

win.ui.ctrl.splitter #

拆分条控件支持库

win.ui.ctrl.splitter() #

拆分条控件

返回对象:splitterObject

splitterObject 成员列表 #

splitterObject._parentForm #

返回创建控件的容器窗口(win.form对象),所有窗口控件都拥有此只读属性。
对于使用窗体设计器创建的窗口,也就是返回设计时窗体容器。

即使子窗口移除子窗口样式、更改父子关系,或以 orphanWindow显示,
控件的 _parentForm 始终都不会改变

返回对象:winform

splitterObject.adjust #

splitterObject.adjust = function( cx,cy,wParam ) {     

};

splitterObject.adjust() #

调整窗口 - 自定义事件函数

splitterObject.bottom #

底部坐标

splitterObject.capture #

是否捕获全局鼠标消息

splitterObject.className #

运行时类名

splitterObject.close() #

关闭控件窗口

splitterObject.cls #

设计时类名

splitterObject.disabled #

是否禁用

splitterObject.getClientRect() #

控件客户区块位置(::RECT结构体)

返回对象:rectObject

splitterObject.getParent() #

返回父窗口

返回对象:splitterObject

splitterObject.getPos() #

返回相对坐标,宽,高
x,y,cx,cy=win.getPos(hwnd)

splitterObject.getRect() #

控件区块位置(::RECT结构体)

splitterObject.getRect(true) #

控件屏幕区块位置(::RECT结构体)

splitterObject.height #

高度

splitterObject.hide #

控件是否隐藏

splitterObject.horz #

是否水平拆分条

splitterObject.hwnd #

控件句柄

splitterObject.id #

控件ID

splitterObject.invalidate(/*可选使用::RECT()对象指定客户区*/) #

使窗口绘图区无效

splitterObject.invalidate(/*可选使用::RECT()对象指定客户区*/,0) #

使窗口绘图区无效
不刷新背景

splitterObject.left #

左侧坐标

splitterObject.ltControl #

拆分条左边或上边的控件。
可以是控件对象,也可以是包含控件的数组。
只能调用 split 函数修改此属性。

返回对象:staticObject

splitterObject.ltMin #

前面的控件最小尺寸,应指定 DPI 缩放与窗体缩放前的设计时大小。
这个属性只会限制拖动拆分条、split、splitMove 函数。
窗口调整大小时按预设缩放规则调整,不检查 ltMin 属性。

splitterObject.modifyStyle(remove,add,swpFlags) #

修改窗口样式,所有参数都是可选参数,
@remove 用数值指定要移除的样式,可使用 WS 前缀的常量
@add 用数值指定要添加的样式,可使用 WS 前缀的常量
@swpFlags 可选用数值指定调整窗口选项,可使用 SWP 前缀的常量
如果指定了 @swpFlag ,则使用该参数调用::SetWindowPos
细节请参考 win.modifyStyle 函数源码

splitterObject.modifyStyleEx(remove,add,swpFlags) #

修改窗口扩展样式,所有参数都是可选参数,
@remove 用数值指定要移除的样式,可使用 WS_EX 前缀的常量
@add 用数值指定要添加的样式,可使用 WS_EX 前缀的常量
@swpFlags 可选用数值指定调整窗口选项,可使用 SWP 前缀的常量
如果指定了 @swpFlag ,则使用该参数调用::SetWindowPos
细节请参考 win.modifyStyle 函数源码

splitterObject.onSplitterMoved #

splitterObject.onSplitterMoved = function(l,t,r,b){
    /*拆分条已被用户手动拖拽移动到新位置,l,r,r,b 分别为左上右下坐标。  
调用 splitAt,splitMove 函数修改位置不会回调此函数。  
窗体缩放时自动调整位置不会回调此函数。*/
}

splitterObject.postMessage(msg,wParam,lParam) #

投递窗口消息到消息队列中
此函数用法请参考 ::User32.PostMessage

splitterObject.rbControl #

拆分条右边或下边的控件。
可以是控件对象,也可以是包含控件的数组。
只能调用 split 函数修改此属性。

返回对象:staticObject

splitterObject.rbMin #

后面的控件最小尺寸,应指定 DPI 缩放与窗体缩放前的设计时大小。
这个属性只会限制拖动拆分条、split、splitMove 函数。
窗口调整大小时按预设缩放规则调整,不检查 rbMin 属性。

splitterObject.redraw() #

刷新

splitterObject.redrawTransparent() #

刷新
透明背景时请使用此函数替代redraw()

splitterObject.right #

右侧坐标

splitterObject.sendMessage(msg,wParam,lParam) #

发送窗口消息
此函数用法请参考 ::User32.SendMessage

splitterObject.setParent(控件对象) #

改变父窗口

splitterObject.setPos(x坐标,y坐标,宽,高,插入位置,参数) #

调整窗口位置或排序,所有参数可选
同时指定x,y坐标则移动位置
同时指定宽高则改变大小
指定插入位置(句柄或_HWND前缀常量)则调整Z序

splitterObject.setRect(rc) #

设置控件区块位置(::RECT结构体)

splitterObject.setRect(rc,true) #

设置控件屏幕区块位置(::RECT结构体)

splitterObject.show(true) #

显示控件

splitterObject.split #

指定需要拆分的控件。

splitterObject.split(前面的控件,后面的控件) #

指定需要拆分的控件。
参数可以是控件对象,也可以是包含控件对象的数组。
同一数组中的控件必须位于拆分条的同一侧。
被折分的控件可在控件属性中指定是否支持自动调整大小。
调整窗口大小时拆分条会自动贴近前面数组中的第一个控件。

也可以将更多控件可放入子窗口并以 custom 控件作为容器加载,然后再拆分。

listbox 反复改变高度会因为自动适应项目行高而越来越小,
要用拆分条改变 listbox 高度时最好也放入 custom 容器

splitterObject.splitAt(拆分位置) #

在指定的位置拆分。
水平拆分条参数指定窗口上边距,垂直拆分条则参数指定的是窗口左边距。
参数应当指定 DPI 缩放以前的值,函数会自动缩放。

splitterObject.splitMove(相对移动距离) #

移动拆分条到相对于当前位置的指定距离,
并在新位置拆分绑定的窗口。
参数必须指定 DPI 缩放前的距离。

splitterObject.text #

控件文本

splitterObject.theme #

外观主题,例如
winform.button.theme = "Explorer"
winform.button.theme = false

splitterObject.top #

顶部坐标

splitterObject.translateAccelerator #

splitterObject.translateAccelerator = function(msg){   
    /*返回是否快捷键*/  
}

splitterObject.update() #

重绘invalidate函数指定的区块

splitterObject.width #

宽度

Markdown 格式