# win.ui.ctrl.listbox 库模块帮助文档

## win.ui.ctrl 成员列表 <a id="win.ui.ctrl" href="#win.ui.ctrl">&#x23;</a>

### win.ui.ctrl.listbox() <a id="win.ui.ctrl.listbox" href="#win.ui.ctrl.listbox">&#x23;</a>
列表框  
listbox 默认会自动调整高度以对齐项目行高,  
在创建参数中添加 integralHeight = false 可禁止此特性  

[返回对象:listboxObject](#listboxObject)

## listboxObject 成员列表 <a id="listboxObject" href="#listboxObject">&#x23;</a>

### listboxObject._defWindowProc(hwnd,message,wParam,lParam) <a id="listboxObject._defWindowProc" href="#listboxObject._defWindowProc">&#x23;</a>
用于在 wndproc 回调中提前调用默认消息回调函数,  
所有窗口和控件定义了 wndproc 回调以后会自动创建这个函数,  
调用此函数以后,wndproc 必须指定非 null 返回值,  
以避免再次重复调用默认回调函数

### listboxObject._parentForm <a id="listboxObject._parentForm" href="#listboxObject._parentForm">&#x23;</a>
返回创建控件的容器窗口（win.form对象），所有窗口控件都拥有此只读属性。  
对于使用窗体设计器创建的窗口，也就是返回设计时窗体容器。  

即使子窗口移除子窗口样式、更改父子关系，或以 orphanWindow显示，  
控件的 _parentForm 始终都不会改变  

[返回对象:winform](https://www.aardio.com/zh-cn/docs/library-reference/win/ui/_.html#winform)

### listboxObject.add(请输入文本) <a id="listboxObject.add" href="#listboxObject.add">&#x23;</a>
添加列表项到尾部，返回新项目索引。

### listboxObject.add(请输入文本,-1) <a id="listboxObject.add" href="#listboxObject.add">&#x23;</a>
添加列表项到尾部，返回新项目索引。

### listboxObject.add(请输入文本,1) <a id="listboxObject.add" href="#listboxObject.add">&#x23;</a>
添加列表项到头部，返回新项目索引。

### listboxObject.addCtrl <a id="listboxObject.addCtrl" href="#listboxObject.addCtrl">&#x23;</a>

```aardio
listboxObject.addCtrl(  

	edit ={ cls="edit";left=0;top=0;right=50;bottom=50;autoResize=false ;hide=1;edge=1;  }  
)
```

### listboxObject.addItems(字符串数组) <a id="listboxObject.addItems" href="#listboxObject.addItems">&#x23;</a>
添加字符串数组到列表框，  
数组元素将调用 tostring 转换为字符串后顺序添加到列表尾部。

### listboxObject.addfile(请输入路径) <a id="listboxObject.addfile" href="#listboxObject.addfile">&#x23;</a>
向列表框里增加一个文件(包括目录)

### listboxObject.adjust <a id="listboxObject.adjust" href="#listboxObject.adjust">&#x23;</a>

```aardio
listboxObject.adjust = function( cx,cy,wParam ) {	   
	/*窗口缩放时会自动触发此函数。  
cx 参数为窗口宽度,cy 参数为窗口高度,  
wParam 参数请参考 _WM_SIZE 消息参数说明,一般不用管。  

所有 win.form 创建的窗体和控件都支持此事件,  
重复赋值只会追加而不会覆盖此事件。  
一般不建议添加一个 wndproc 仅仅是为了处理  _WM_SIZE 消息，  
定义 adjust 事件是更好的选择。  

可主动调用此事件,省略参数时 cx,cy 参数默认设为窗口大小*/    
};
```

### listboxObject.bottom <a id="listboxObject.bottom" href="#listboxObject.bottom">&#x23;</a>
底部坐标  
注意listbox的实际高度受行高的影响  
只有自绘时才能设置行高

### listboxObject.capture <a id="listboxObject.capture" href="#listboxObject.capture">&#x23;</a>
是否捕获全局鼠标消息

### listboxObject.className <a id="listboxObject.className" href="#listboxObject.className">&#x23;</a>
运行时类名

### listboxObject.clear() <a id="listboxObject.clear" href="#listboxObject.clear">&#x23;</a>
清除列表框所有内容

### listboxObject.clientHeight <a id="listboxObject.clientHeight" href="#listboxObject.clientHeight">&#x23;</a>
控件窗口客户区宽度，只读属性。

### listboxObject.clientRect <a id="listboxObject.clientRect" href="#listboxObject.clientRect">&#x23;</a>
获取控件客户区块位置(::RECT结构体)

### listboxObject.clientWidth <a id="listboxObject.clientWidth" href="#listboxObject.clientWidth">&#x23;</a>
控件窗口客户区宽度，只读属性。

### listboxObject.close() <a id="listboxObject.close" href="#listboxObject.close">&#x23;</a>
关闭控件窗

### listboxObject.cls <a id="listboxObject.cls" href="#listboxObject.cls">&#x23;</a>
设计时类名

### listboxObject.count <a id="listboxObject.count" href="#listboxObject.count">&#x23;</a>
列表项数目

### listboxObject.delete() <a id="listboxObject.delete" href="#listboxObject.delete">&#x23;</a>
删除当前选中项

删除指定项

### listboxObject.disabled <a id="listboxObject.disabled" href="#listboxObject.disabled">&#x23;</a>
是否禁用

### listboxObject.dpiScale(x,y) <a id="listboxObject.dpiScale" href="#listboxObject.dpiScale">&#x23;</a>
将 @x,@y 表示的像素值乘以窗体当前 DPI 缩放倍数并返回,  
省略 @y 参数时仅返回 @x 转换后的值

### listboxObject.dpiScaleX <a id="listboxObject.dpiScaleX" href="#listboxObject.dpiScaleX">&#x23;</a>
窗口当前使用的 DPI 横坐标缩放系数,  
该值由界面系统自动维护，任何情况下都不应手动修改,  

这是一个以小数表示百分比的数，例如 1.25 表示 125%,  
窗口未使用缩放或未完成缩放初始化时，值可能为 null，  
如果要获取屏幕缩放设置应改用 gdi.getDpiScale 函数

### listboxObject.dpiScaleY <a id="listboxObject.dpiScaleY" href="#listboxObject.dpiScaleY">&#x23;</a>
窗口当前使用的 DPI 纵坐标缩放系数,  
该值由界面系统自动维护，任何情况下都不应手动修改,  

这是一个以小数表示百分比的数，例如 1.25 表示 125%,  
窗口未使用缩放或未完成缩放初始化时，值可能为 null，  
如果要获取屏幕缩放设置应改用 gdi.getDpiScale 函数

### listboxObject.eachSelected() <a id="listboxObject.eachSelected" href="#listboxObject.eachSelected">&#x23;</a>

```aardio
for index,text in listboxObject.eachSelected(){
	/*从后向前倒序遍历所有选中项,  
迭代变量 index 为选中项序号,  
迭代变量 text 当前行文本值*/
}
```

### listboxObject.ensureVisible() <a id="listboxObject.ensureVisible" href="#listboxObject.ensureVisible">&#x23;</a>
滚动视图以确定可以显示参数指定行序号的项,  
不指定参数则设置当前选中焦点项

### listboxObject.find(请输入文本) <a id="listboxObject.find" href="#listboxObject.find">&#x23;</a>
在列表框里查找指定的项  
找不到返回0

### listboxObject.findEx(请输入文本) <a id="listboxObject.findEx" href="#listboxObject.findEx">&#x23;</a>
精确查找指定的项  
找不到返回0

### listboxObject.getClientRect() <a id="listboxObject.getClientRect" href="#listboxObject.getClientRect">&#x23;</a>
控件客户区块位置(::RECT结构体)  

[返回对象:rectObject](https://www.aardio.com/zh-cn/docs/library-reference/global/_.html#rectObject)

### listboxObject.getFont() <a id="listboxObject.getFont" href="#listboxObject.getFont">&#x23;</a>
控件字体(::LOGFONT结构体)  

[返回对象:logfontObject](#logfontObject)

### listboxObject.getItemData(index) <a id="listboxObject.getItemData" href="#listboxObject.getItemData">&#x23;</a>
返回指定项索引绑定的数据对象。  
- 参数 @index 必须指定表示有效索引的数值。

### listboxObject.getItemRect(项索引) <a id="listboxObject.getItemRect" href="#listboxObject.getItemRect">&#x23;</a>
获取指定项区块位置  
返回::RECT() 结构体

### listboxObject.getItemText(项索引) <a id="listboxObject.getItemText" href="#listboxObject.getItemText">&#x23;</a>
获取指定项文本

### listboxObject.getParent() <a id="listboxObject.getParent" href="#listboxObject.getParent">&#x23;</a>
返回父窗口  

[返回对象:staticObject](https://www.aardio.com/zh-cn/docs/library-reference/win/ui/ctrl/static.html#staticObject)

### listboxObject.getPos() <a id="listboxObject.getPos" href="#listboxObject.getPos">&#x23;</a>
返回相对坐标,宽,高  
x,y,cx,cy=win.getPos(hwnd)

### listboxObject.getRect() <a id="listboxObject.getRect" href="#listboxObject.getRect">&#x23;</a>
控件区块位置(::RECT结构体)

### listboxObject.getRect(true) <a id="listboxObject.getRect" href="#listboxObject.getRect">&#x23;</a>
控件屏幕区块位置(::RECT结构体)

### listboxObject.getSelected(1项索引) <a id="listboxObject.getSelected" href="#listboxObject.getSelected">&#x23;</a>
是否选中

### listboxObject.height <a id="listboxObject.height" href="#listboxObject.height">&#x23;</a>
高度  
listbox 默认会自动调整高度以对齐项目行高,  
在创建参数中添加 integralHeight = false 可禁止此特性

### listboxObject.hitTest(x,y) <a id="listboxObject.hitTest" href="#listboxObject.hitTest">&#x23;</a>
返回指定客户区坐标所在的项索引.

### listboxObject.hitTest(x坐标,y坐标,是否屏幕坐标) <a id="listboxObject.hitTest" href="#listboxObject.hitTest">&#x23;</a>
该函数返回指定坐标的句柄,参数三可省略,默认为false.  
如果不指定任何参数,则自动获取当前消息坐标

### listboxObject.hwnd <a id="listboxObject.hwnd" href="#listboxObject.hwnd">&#x23;</a>
控件句柄

### listboxObject.id <a id="listboxObject.id" href="#listboxObject.id">&#x23;</a>
控件ID

### listboxObject.invalidate(/*可选使用::RECT()对象指定客户区*/) <a id="listboxObject.invalidate(/*可选使用::RECT" href="#listboxObject.invalidate(/*可选使用::RECT">&#x23;</a>
使窗口绘图区无效

### listboxObject.invalidate(/*可选使用::RECT()对象指定客户区*/,0) <a id="listboxObject.invalidate(/*可选使用::RECT" href="#listboxObject.invalidate(/*可选使用::RECT">&#x23;</a>
使窗口绘图区无效  
不刷新背景

### listboxObject.items <a id="listboxObject.items" href="#listboxObject.items">&#x23;</a>
控件包含的所有列表项文本数组，  
纯数组对象。

控件包含的所有列表项文本数组，  
纯数组对象。

### listboxObject.left <a id="listboxObject.left" href="#listboxObject.left">&#x23;</a>
左侧坐标

### listboxObject.modifyStyle(remove,add,swpFlags) <a id="listboxObject.modifyStyle" href="#listboxObject.modifyStyle">&#x23;</a>
修改窗口样式,所有参数都是可选参数,  
@remove 用数值指定要移除的样式,可使用 _WS_ 前缀的常量  
@add 用数值指定要添加的样式,可使用 _WS_ 前缀的常量  
@swpFlags 可选用数值指定调整窗口选项,可使用 _SWP_ 前缀的常量  
如果指定了 @swpFlag ,则使用该参数调用::SetWindowPos  
细节请参考 win.modifyStyle 函数源码

### listboxObject.modifyStyleEx(remove,add,swpFlags) <a id="listboxObject.modifyStyleEx" href="#listboxObject.modifyStyleEx">&#x23;</a>
修改窗口扩展样式,所有参数都是可选参数,  
@remove 用数值指定要移除的样式,可使用 _WS_EX_ 前缀的常量  
@add 用数值指定要添加的样式,可使用 _WS_EX_ 前缀的常量  
@swpFlags 可选用数值指定调整窗口选项,可使用 _SWP_ 前缀的常量  
如果指定了 @swpFlag ,则使用该参数调用::SetWindowPos  
细节请参考 win.modifyStyle 函数源码

### listboxObject.oncommand <a id="listboxObject.oncommand" href="#listboxObject.oncommand">&#x23;</a>

```aardio
listboxObject.oncommand = function(id,event){  
	/*命令事件触发*/  
}
```

### listboxObject.onnotify <a id="listboxObject.onnotify" href="#listboxObject.onnotify">&#x23;</a>

```aardio
listboxObject.onnotify = function(id,code,ptr){  
	/*通知事件触发*/  
}
```

### listboxObject.orphanWindow(transparent,hwndBuddy,borderless) <a id="listboxObject.orphanWindow" href="#listboxObject.orphanWindow">&#x23;</a>
创建悬浮窗口。  
悬浮窗口是模仿子窗口外观效果的独立窗口，父窗口可自动调整子窗口到设定位置。  
可选参数 @transparent 为 true 则转换为分层透明窗口。  
可选利用 @hwndBuddy 参数指定外部进程窗口句柄的并附加在内部控件上以实现相同的效果。  
伙伴窗口总是会保持在悬浮窗口前面，并保持相同的大小、位置。  
可重复调用此函数更换伙伴窗口，旧的伙伴窗口必须自行关闭。  
可选指定 @borderless 参数 为 true 以移除 @hwndBuddy  的窗口边框。

### listboxObject.postMessage(msg,wParam,lParam) <a id="listboxObject.postMessage" href="#listboxObject.postMessage">&#x23;</a>
投递窗口消息到消息队列中  
此函数用法请参考 ::User32.PostMessage

### listboxObject.redraw() <a id="listboxObject.redraw" href="#listboxObject.redraw">&#x23;</a>
刷新

### listboxObject.right <a id="listboxObject.right" href="#listboxObject.right">&#x23;</a>
右侧坐标

### listboxObject.scroll(cmd,pos,msg) <a id="listboxObject.scroll" href="#listboxObject.scroll">&#x23;</a>
发送滚动消息 。  
参数 @cmd 用数值指定滚动命令，例如 `7/*_SB_BOTTOM*/`, `6/*_SB_TOP*/`等。  
如果参数 @cmd 指定 `4/*_SB_THUMBPOSITION*/` 则可用参数 @pos 指定滚动条的位置（数值）。  
默认发送 _WM_VSCROLL 消息，可选用参数 @msg 指定消息 ID 为 `0x114/*_WM_HSCROLL*/` 。  
这是所有窗口与控件都继承的公共方法。

### listboxObject.selIndex <a id="listboxObject.selIndex" href="#listboxObject.selIndex">&#x23;</a>
获取或设置列表框当前选中项  
仅在单选模式下有效,多选模式下请使用 selected 获取所有获中项

### listboxObject.selText <a id="listboxObject.selText" href="#listboxObject.selText">&#x23;</a>
获取当前选项的文本  
或根据指定的文本查找并改变选项

### listboxObject.selectRange(1,) <a id="listboxObject.selectRange" href="#listboxObject.selectRange">&#x23;</a>
选中指定范围  
如果不指定任何参数,取消选区

### listboxObject.selected <a id="listboxObject.selected" href="#listboxObject.selected">&#x23;</a>
所有选中项目索引的数组,  
设为 null 或空表清除所有选中项

### listboxObject.sendMessage(msg,wParam,lParam) <a id="listboxObject.sendMessage" href="#listboxObject.sendMessage">&#x23;</a>
发送窗口消息  
此函数用法请参考 ::User32.SendMessage

### listboxObject.setFocus() <a id="listboxObject.setFocus" href="#listboxObject.setFocus">&#x23;</a>
设置焦点

### listboxObject.setFont(指定字体) <a id="listboxObject.setFont" href="#listboxObject.setFont">&#x23;</a>
指定LOGFONT字体对象,或逻辑字体句柄

### listboxObject.setFont(混入字体属性) <a id="listboxObject.setFont" href="#listboxObject.setFont">&#x23;</a>

```aardio
listboxObject.setFont(point=10;name="宋体");
```

### listboxObject.setItemData(index,data) <a id="listboxObject.setItemData" href="#listboxObject.setItemData">&#x23;</a>
绑定参数 @data 指定的数据对象到参数 @index 指定的项索引。  
- 参数 @index 请指定数值，省略取当前项。  
- 参数 @data 可指定任意数据类型的对象。  

对 items 赋值或者调用 clear 方法都会将清空自定义数据。  
delete 方法会同时删除绑定的自定义数据。

### listboxObject.setParent(控件对象) <a id="listboxObject.setParent" href="#listboxObject.setParent">&#x23;</a>
改变父窗口

### listboxObject.setPos(x坐标,y坐标,宽,高,插入位置,参数) <a id="listboxObject.setPos" href="#listboxObject.setPos">&#x23;</a>
调整窗口位置或排序,所有参数可选  
同时指定x,y坐标则移动位置，同时指定宽高则改变大小，  
指定插入位置（句柄或_HWND前缀常量）则调整Z序  

listbox 默认会自动调整高度以对齐项目行高,  
在创建参数中添加 integralHeight = false 可禁止此特性

### listboxObject.setRect(rc) <a id="listboxObject.setRect" href="#listboxObject.setRect">&#x23;</a>
设置控件区块位置(::RECT结构体)

### listboxObject.setRect(rc,true) <a id="listboxObject.setRect" href="#listboxObject.setRect">&#x23;</a>
设置控件屏幕区块位置(::RECT结构体)

### listboxObject.setSelected(1项索引) <a id="listboxObject.setSelected" href="#listboxObject.setSelected">&#x23;</a>
选中指定项,索引为0则选定全部  
该函数仅在开启控件多选模式下有效  
单选模式下请使用selIndex属性替代

### listboxObject.setSelected(1项索引,false) <a id="listboxObject.setSelected" href="#listboxObject.setSelected">&#x23;</a>
取消选中指定项,索引为 0 则取消全选

### listboxObject.show(true) <a id="listboxObject.show" href="#listboxObject.show">&#x23;</a>
显示控件

### listboxObject.theme <a id="listboxObject.theme" href="#listboxObject.theme">&#x23;</a>
外观主题,例如  
winform.button.theme = "Explorer"  
winform.button.theme = false

### listboxObject.threadCallable() <a id="listboxObject.threadCallable" href="#listboxObject.threadCallable">&#x23;</a>
开启此控件的跨线程调用功能

### listboxObject.top <a id="listboxObject.top" href="#listboxObject.top">&#x23;</a>
顶部坐标

### listboxObject.update() <a id="listboxObject.update" href="#listboxObject.update">&#x23;</a>
重绘invalidate函数指定的区块

### listboxObject.visible <a id="listboxObject.visible" href="#listboxObject.visible">&#x23;</a>
当前控件窗口是否显示。  
仅检查当前窗口的可见性样式（窗口 是否具有 _WS_VISIBLE 样式）。  
不考虑父窗口是否可见，不考虑是否被其他窗口遮挡。  
如果需要同时判断父窗口的可见性，应改用 win.isVisible 函数。

### listboxObject.width <a id="listboxObject.width" href="#listboxObject.width">&#x23;</a>
宽度

### listboxObject.wndproc <a id="listboxObject.wndproc" href="#listboxObject.wndproc">&#x23;</a>

```aardio
listboxObject.wndproc = function(hwnd,message,wParam,lParam){  
	/*窗口消息回调，返回任意非null值阻止默认回调  
wndproc重复赋值时追加函数而不是覆盖之前的回调  
设为null添除所有消息回调函数  
wndproc也可以是一个表,键要为处理的消息,值为对应的消息回调函数*/	  
}
```

## listboxObject 事件列表 <a id="listboxObjectEvent" href="#listboxObjectEvent">&#x23;</a>

### listboxObject.onDestroy <a id="listboxObject.onDestroy" href="#listboxObject.onDestroy">&#x23;</a>

```aardio
listboxObject.onDestroy = function(){  
	/*窗口销毁前触发*/  
}
```

### listboxObject.onDoubleClickItem() <a id="listboxObject.onDoubleClickItem" href="#listboxObject.onDoubleClickItem">&#x23;</a>

```aardio
listboxObject.onDoubleClickItem = function(){
	/*双击列表项触发此事件,  
使使用 selIndex 获取双击的项*/
}
```

### listboxObject.onDrawItem(drawItem) <a id="listboxObject.onDrawItem" href="#listboxObject.onDrawItem">&#x23;</a>

```aardio
listboxObject.onDrawItem = function(drawItem){
	/*控件属性里指定 ownerDraw 为 true 触发此事件  
在这里自绘控件项*/	
}
```

### listboxObject.onFocusGot() <a id="listboxObject.onFocusGot" href="#listboxObject.onFocusGot">&#x23;</a>

```aardio
listboxObject.onFocusGot = function(){
	/*获得焦点触发此事件*/
}
```

### listboxObject.onFocusLost() <a id="listboxObject.onFocusLost" href="#listboxObject.onFocusLost">&#x23;</a>

```aardio
listboxObject.onFocusLost = function(){
	/*失去焦点触发此事件*/
}
```

### listboxObject.onMeasureItem(measureItem,dpiScaleX,dpiScaleY) <a id="listboxObject.onMeasureItem" href="#listboxObject.onMeasureItem">&#x23;</a>

```aardio
listboxObject.onMeasureItem = function(measureItem){
	measureItem.itemHeight = 61 * dpiScaleY;  
	/*控件属性里指定 ownerDraw 为 true 触发此事件  
在这里配置自绘控件项参数*/
}
```

### listboxObject.onSelCancel() <a id="listboxObject.onSelCancel" href="#listboxObject.onSelCancel">&#x23;</a>

```aardio
listboxObject.onSelCancel = function(){
	/*取消选项时触发此事件*/
}
```

### listboxObject.onSelChange() <a id="listboxObject.onSelChange" href="#listboxObject.onSelChange">&#x23;</a>

```aardio
listboxObject.onSelChange = function(){
	/*改变当前选项时触发此事件*/
}
```

### 自动完成常量
_LBN_DBLCLK=0x2  
_LBN_KILLFOCUS=0x5  
_LBN_SELCANCEL=0x3  
_LBN_SELCHANGE=0x1  
_LBN_SETFOCUS=0x4  
_LBS_DISABLENOSCROLL=0x1000  
_LBS_EXTENDEDSEL=0x800  
_LBS_HASSTRINGS=0x40  
_LBS_MULTICOLUMN=0x200  
_LBS_MULTIPLESEL=0x8  
_LBS_NODATA=0x2000  
_LBS_NOINTEGRALHEIGHT=0x100  
_LBS_NOREDRAW=0x4  
_LBS_NOTIFY=0x1  
_LBS_OWNERDRAWFIXED=0x10  
_LBS_OWNERDRAWVARIABLE=0x20  
_LBS_SORT=0x2  
_LBS_USETABSTOPS=0x80  
_LBS_WANTKEYBOARDINPUT=0x400  
_LB_ADDFILE=0x196  
_LB_ADDSTRING=0x180  
_LB_CTLCODE=0x0  
_LB_DELETESTRING=0x182  
_LB_DIR=0x18D  
_LB_FINDSTRING=0x18F  
_LB_FINDSTRINGEXACT=0x1A2  
_LB_GETANCHORINDEX=0x19D  
_LB_GETCARETINDEX=0x19F  
_LB_GETCOUNT=0x18B  
_LB_GETCURSEL=0x188  
_LB_GETHORIZONTALEXTENT=0x193  
_LB_GETITEMDATA=0x199  
_LB_GETITEMHEIGHT=0x1A1  
_LB_GETITEMRECT=0x198  
_LB_GETLOCALE=0x1A6  
_LB_GETSEL=0x187  
_LB_GETSELCOUNT=0x190  
_LB_GETSELITEMS=0x191  
_LB_GETTEXT=0x189  
_LB_GETTEXTLEN=0x18A  
_LB_GETTOPINDEX=0x18E  
_LB_INSERTSTRING=0x181  
_LB_MSGMAX=0x1A8  
_LB_OKAY=0x0  
_LB_RESETCONTENT=0x184  
_LB_SELECTSTRING=0x18C  
_LB_SELITEMRANGE=0x19B  
_LB_SELITEMRANGEEX=0x183  
_LB_SETANCHORINDEX=0x19C  
_LB_SETCARETINDEX=0x19E  
_LB_SETCOLUMNWIDTH=0x195  
_LB_SETCOUNT=0x1A7  
_LB_SETCURSEL=0x186  
_LB_SETHORIZONTALEXTENT=0x194  
_LB_SETITEMDATA=0x19A  
_LB_SETITEMHEIGHT=0x1A0  
_LB_SETLOCALE=0x1A5  
_LB_SETSEL=0x185  
_LB_SETTABSTOPS=0x192  
_LB_SETTOPINDEX=0x197  
