aardio 文档

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

win.ui.ctrl 成员列表

win.ui.ctrl.combobox()

下拉框控件

返回对象:comboboxObject

comboboxObject 成员列表

comboboxObject._defWindowProc(hwnd,message,wParam,lParam)

用于在 wndproc 回调中提前调用默认消息回调函数,
所有窗口和控件定义了 wndproc 回调以后会自动创建这个函数,
调用此函数以后,wndproc 必须指定非 null 返回值,
以避免再次重复调用默认回调函数

comboboxObject._parentForm

控件所在的父窗口(指win.form对象)

返回对象:winform

comboboxObject.add("文本")

添加到组合框,
支持0x100/*_CBS_SORT*/排序

comboboxObject.autoComplete

用于onEditChange事件内部显示自动完成列表
此函数会在显示列表后保持输入文本与光标不变
仅适用于dropdown模式

comboboxObject.autoComplete(items,selIndex)

items参数使用一个字符串数组指定要显示的列表项,  
@selIndex指定选项索引,不指定时默认为1

comboboxObject.bottom

底部坐标

comboboxObject.capture

是否捕获全局鼠标消息

comboboxObject.className

运行时类名

comboboxObject.clear()

清除组合框所有内容

comboboxObject.close()

关闭控件窗口

comboboxObject.cls

设计时类名

comboboxObject.count

列表项数目

comboboxObject.delete()

删除当前选中项

comboboxObject.dir("目录路径",_DDL_...)

类似dir命令,列出指定目录下匹配的文件,支持通配符
参数@2可指定选项,默认为 _DDL_READWRITE

comboboxObject.disabled

是否禁用

comboboxObject.editBox

返回下拉控件编辑框

返回对象:editObject

comboboxObject.find(请输入文本)

查找列表项

comboboxObject.findEx(请输入文本)

精确查找指定的项
找不到返回0

comboboxObject.getClientRect()

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

返回对象:rectObject

comboboxObject.getFont()

控件字体(::LOGFONT结构体)

返回对象:logfontObject

comboboxObject.getParent()

返回父窗口

返回对象:staticObject

comboboxObject.getPos()

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

comboboxObject.getRect()

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

comboboxObject.getRect(true)

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

comboboxObject.height

高度

comboboxObject.hide

控件是否隐藏

comboboxObject.hwnd

控件句柄

comboboxObject.id

控件ID

comboboxObject.info()

返回COMBOBOXINFO结构体,
关于此结构体请查阅MSDN

comboboxObject.insert("文本",插入位置)

默认添加到开始处,
-1表示添加到尾部
不支持0x100/*_CBS_SORT*/排序

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

使窗口绘图区无效

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

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

comboboxObject.items

获取或设置组合框列表,属性值为字符串数组,

仅在属性面板设置初始化items属性时初始化selIndex为1,
代码中动态修改items后请自行指定selIndex,

如果自动指定了你不想要的selIndex,这会增加不必要的重绘。

comboboxObject.left

左侧坐标

comboboxObject.limit

只写属性,修改最大允许输入的文本长度,
如果设为0,则设定为默认长度0x7FFFFFFE,
必须在控件初始化属性中启用横向滚动条,该属性才能生效

comboboxObject.listBox

返回下拉控件列表框

返回对象:listboxObject

comboboxObject.minVisible

设置或获取下拉列表最小显示项目数,
请在设计属性中启用垂直滚动条。

如果不想多点一下,可如下改进此属性源码:
util.metaProperty.extend(win.ui.ctrl.combobox,{
minVisible = {
_set = function( v ){
::SendMessageInt(owner.hwnd , 0x1701/*_CB_SETMINVISIBLE*/,v,0);
}
}
})

comboboxObject.modifyStyle(remove,add,swpFlags)

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

comboboxObject.modifyStyleEx(remove,add,swpFlags)

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

comboboxObject.onCancel()

comboboxObject.onCancel = function(){ 
    /*响应事件,用户未确认选项且且下拉框即将关闭  
例如用户点击其他控件关闭下拉列表或直接关闭窗口*/
}

comboboxObject.onCloseUp()

comboboxObject.onCloseUp = function(){ 
    /*下拉列表隐藏时触发此事件*/
}

comboboxObject.onDropDown()

comboboxObject.onDropDown = function(){ 
    /*弹出下拉列表前触发此事件  
用代码调用 showDropDown 函数也会触发此事件*/
}

comboboxObject.onEditChange()

comboboxObject.onEditChange = function(){ 
    /*响应事件,输入框中的文本已变更,  
只有用户输入时才会触发,  
切换选项或使用代码修改text属性不会触发  
注意使用text属性取最新值*/
}

comboboxObject.onFocusGot()

comboboxObject.onFocusGot = function(){ 
    /*下拉框获得焦点时触发此事件*/
}

comboboxObject.onFocusLost()

comboboxObject.onFocusLost = function(){ 
    /*下拉框失去焦点时触发此事件*/
}

comboboxObject.onListChange()

comboboxObject.onListChange = function(){   
    /*改变当前选项触发此事件。  
在下拉框上按方向键调整当前选项会触发此事件,  
在选项上回车确认选项时,如果选项已改变则会触发此事件,  
如果回车操作未改变选项仅触发 onOk 事件。  

注意事件中要用 selText 属性取新的值  
使用代码修改 selIndex 是不会触发*/
}

comboboxObject.onOk()

comboboxObject.onOk = function(){ 
    /*响应事件,用户已确认选择指定选项,  
注意事件中要用 selText 属性取新的值  
单击选项或在选项上回车都会触发此事件(无论是否改变选项)*/
}

comboboxObject.oncommand(id,event)

comboboxObject.oncommand = function(id,event){
    var text = owner.selText;
    /*响应事件,event比较常用的值:  
_CBN_SELCHANGE表示正在改变当前项,但下拉框还没有关闭  
_CBN_SELENDOK表示已改变选项且下拉框即将关闭  
注意事件中要用selText属性取新的值*/
}

comboboxObject.orphanWindow(transparent,hwndBuddy)

创建悬浮窗口,
悬浮窗口仍然显示在原来的位置,
悬浮窗口如影随形的跟随父窗口移动或改变大小,控件原来的固定边距等参数仍然有效
此控件不建议指定参数

comboboxObject.postMessage(msg,wParam,lParam)

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

comboboxObject.redraw()

刷新

comboboxObject.right

右侧坐标

comboboxObject.selIndex

获取或指定当前选中的项索引,属性值为数值,
设为null取消选项

comboboxObject.selText

读取或设置组合框当前选中文本
在onOk事件回调中获取最新值应当使用selText而不是text属性

获取或指定当前选中的文本,精确匹配

comboboxObject.selectString("文本前缀",开始索引)

按文本前缀查找并选中项目,
自开始索引后面开始查找,默认值为0也就是开始处搜索

comboboxObject.sendMessage(msg,wParam,lParam)

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

comboboxObject.setCueBannerText("提示文本")

指定文本框文本为空时的显示的默认提示文本,
此函数会取消当前选中项,
XP系统不支持此函数、但调用不报错

comboboxObject.setCueBannerText(提示文本)

设置文本为空的输入提示,
参数 @1 使用字符串指定提示内容。
此函数会自动设置控件 text 属性为空

comboboxObject.setFocus()

设置焦点

comboboxObject.setFont(指定字体)

指定LOGFONT字体对象,或逻辑字体句柄

comboboxObject.setFont(混入字体属性)

comboboxObject.setFont(point=10;name="宋体");

comboboxObject.setParent(控件对象)

改变父窗口

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

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

comboboxObject.setRect(rc)

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

comboboxObject.setRect(rc,true)

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

comboboxObject.show(true)

显示控件

comboboxObject.showDropDown(true)

显示下拉列表
参数为false隐藏下拉列表

comboboxObject.tabNext()

返回对象:staticObject

comboboxObject.tabNext(移动焦点,是否反向)

获取下一个支持tab控制焦点的控件
参数@1为true会自动移动焦点到该控件
参数@2为true则获取上一个控件,否则获取下一个控件

comboboxObject.text

组合框当前输入文本
在onOk事件回调中获取最新值应当使用selText而不是text属性

comboboxObject.theme

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

comboboxObject.threadCallable()

开启此控件的跨线程调用功能

comboboxObject.top

顶部坐标

comboboxObject.topIndex

获取此属性返回首个可见项索引,
设置此属性为项目索引则滚动到该项可见。
项目起始索引为 1

comboboxObject.update()

重绘invalidate函数指定的区块

comboboxObject.valid

窗口是否有效,
窗口未关闭返回 true ,
窗口已关闭或正在关闭返回 false

comboboxObject.width

宽度

自动完成常量

_CBN_CLOSEUP=8
_CBN_DBLCLK=2
_CBN_DROPDOWN=7
_CBN_EDITCHANGE=5
_CBN_EDITUPDATE=6
_CBN_KILLFOCUS=4
_CBN_SELCHANGE=1
_CBN_SELENDCANCEL=0xA
_CBN_SELENDOK=9
_CBN_SETFOCUS=3

Markdown 格式