# win.ui.toolbar 库模块帮助文档

## toolbarButtonObject 成员列表 <a id="toolbarButtonObject" href="#toolbarButtonObject">&#x23;</a>

### toolbarButtonObject.checked <a id="toolbarButtonObject.checked" href="#toolbarButtonObject.checked">&#x23;</a>
是否选中

### toolbarButtonObject.click() <a id="toolbarButtonObject.click" href="#toolbarButtonObject.click">&#x23;</a>
点击按钮

### toolbarButtonObject.delete() <a id="toolbarButtonObject.delete" href="#toolbarButtonObject.delete">&#x23;</a>
删除按钮

### toolbarButtonObject.disabled <a id="toolbarButtonObject.disabled" href="#toolbarButtonObject.disabled">&#x23;</a>
是否禁用

### toolbarButtonObject.getInfo( _TBIF ) <a id="toolbarButtonObject.getInfo" href="#toolbarButtonObject.getInfo">&#x23;</a>
获取TBBUTTONINFO结构体

### toolbarButtonObject.getRect() <a id="toolbarButtonObject.getRect" href="#toolbarButtonObject.getRect">&#x23;</a>
返回按钮区块  

[返回对象:rectObject](https://www.aardio.com/zh-cn/docs/library-reference/global/_.html#rectObject)

### toolbarButtonObject.id <a id="toolbarButtonObject.id" href="#toolbarButtonObject.id">&#x23;</a>
命令ID

### toolbarButtonObject.index() <a id="toolbarButtonObject.index" href="#toolbarButtonObject.index">&#x23;</a>
返回按钮索引

### toolbarButtonObject.setInfo(  ) <a id="toolbarButtonObject.setInfo" href="#toolbarButtonObject.setInfo">&#x23;</a>
设置TBBUTTONINFO结构体,可指定部分字段

### toolbarButtonObject.state <a id="toolbarButtonObject.state" href="#toolbarButtonObject.state">&#x23;</a>
读写按钮状态

### toolbarButtonObject.text <a id="toolbarButtonObject.text" href="#toolbarButtonObject.text">&#x23;</a>
按钮文本

## toolbarObject 成员列表 <a id="toolbarObject" href="#toolbarObject">&#x23;</a>

### toolbarObject.add() <a id="toolbarObject.add" href="#toolbarObject.add">&#x23;</a>
添加一个分隔条  

[返回对象:toolbarButtonObject](#toolbarButtonObject)

### toolbarObject.add(标题,回调函数,图像索引,可选指定命令ID) <a id="toolbarObject.add" href="#toolbarObject.add">&#x23;</a>

```aardio
toolbarObject.add(  
	"文字",   
	function (id) {  

	},1  
)
```

### toolbarObject.adjust() <a id="toolbarObject.adjust" href="#toolbarObject.adjust">&#x23;</a>
重新设置工具栏大小

### toolbarObject.bottom <a id="toolbarObject.bottom" href="#toolbarObject.bottom">&#x23;</a>
底部坐标。  
只能获取，修改无效  

注意工具条是默认已经做过 DPI 缩放的，  
所以请在 winform.enableDpiScaling("init"); 以后使用这些属性

### toolbarObject.buttons[1索引] <a id="toolbarObject.buttons[1索引]" href="#toolbarObject.buttons[1索引]">&#x23;</a>
返回指定的按钮对象

### toolbarObject.capture <a id="toolbarObject.capture" href="#toolbarObject.capture">&#x23;</a>
是否捕获全局鼠标消息

### toolbarObject.className <a id="toolbarObject.className" href="#toolbarObject.className">&#x23;</a>
运行时类名

### toolbarObject.cls <a id="toolbarObject.cls" href="#toolbarObject.cls">&#x23;</a>
设计时类名

### toolbarObject.create(tParam) <a id="toolbarObject.create" href="#toolbarObject.create">&#x23;</a>
创建工具条,注意工具条会占用父窗口上的空间,  
可选传入 @tParam 参数表,可包含 style,exstyle 等样式参数  
可用样式可参考:  
 https://docs.microsoft.com/en-us/windows/win32/controls/toolbar-control-and-button-styles

### toolbarObject.disabled <a id="toolbarObject.disabled" href="#toolbarObject.disabled">&#x23;</a>
是否禁用

### toolbarObject.getButton() <a id="toolbarObject.getButton" href="#toolbarObject.getButton">&#x23;</a>
[返回对象:toolbarButtonObject](#toolbarButtonObject)

### toolbarObject.getButton(索引) <a id="toolbarObject.getButton" href="#toolbarObject.getButton">&#x23;</a>
返回按钮对象

### toolbarObject.getButtonById() <a id="toolbarObject.getButtonById" href="#toolbarObject.getButtonById">&#x23;</a>
[返回对象:toolbarButtonObject](#toolbarButtonObject)

### toolbarObject.getButtonById(idCommand) <a id="toolbarObject.getButtonById" href="#toolbarObject.getButtonById">&#x23;</a>
返回按钮对象

### toolbarObject.getClientRect() <a id="toolbarObject.getClientRect" href="#toolbarObject.getClientRect">&#x23;</a>
控件客户区块位置，返回值为 ::RECT结构体  

[返回对象:rectObject](https://www.aardio.com/zh-cn/docs/library-reference/global/_.html#rectObject)

### toolbarObject.getExtended() <a id="toolbarObject.getExtended" href="#toolbarObject.getExtended">&#x23;</a>
获取工具条扩展样式

### toolbarObject.getExtended(exstyle) <a id="toolbarObject.getExtended" href="#toolbarObject.getExtended">&#x23;</a>
获取工具条指定扩展样式

### toolbarObject.getFont(true) <a id="toolbarObject.getFont" href="#toolbarObject.getFont">&#x23;</a>
返回控件字体，返回值为 ::LOGFONT 结构体  

[返回对象:logfontObject](#logfontObject)

### toolbarObject.getForm() <a id="toolbarObject.getForm" href="#toolbarObject.getForm">&#x23;</a>
标准库 win.ui 创建的所有窗体与控件对象都拥有此属性。  
win.form 创建的窗体对象返回自身，其他控件对象返回创建控件的容器窗口（ _parentForm 属性 ）。

### toolbarObject.getNotifyInfo(ptr) <a id="toolbarObject.getNotifyInfo" href="#toolbarObject.getNotifyInfo">&#x23;</a>
在通知回调中获取 PNMTOOLBAR 结构体，  
ptr 为 onnotify 回调传过来的指针参数

### toolbarObject.getParent() <a id="toolbarObject.getParent" href="#toolbarObject.getParent">&#x23;</a>
返回父窗口  

[返回对象:winform](https://www.aardio.com/zh-cn/docs/library-reference/win/ui/_.html#winform)

### toolbarObject.getPos() <a id="toolbarObject.getPos" href="#toolbarObject.getPos">&#x23;</a>
返回相对父窗口客户区的坐标,宽,高,  
参数为 true 返回屏幕坐标,宽,高  

注意工具条是默认已经做过 DPI 缩放的，  
所以请在 winform.enableDpiScaling("init"); 以后使用这些属性

### toolbarObject.getRect() <a id="toolbarObject.getRect" href="#toolbarObject.getRect">&#x23;</a>
控件区块位置，返回值为 ::RECT结构体  

[返回对象:rectObject](https://www.aardio.com/zh-cn/docs/library-reference/global/_.html#rectObject)

### toolbarObject.getRect(true) <a id="toolbarObject.getRect" href="#toolbarObject.getRect">&#x23;</a>
控件屏幕区块位置，返回值为 ::RECT结构体

### toolbarObject.getRoot() <a id="toolbarObject.getRoot" href="#toolbarObject.getRoot">&#x23;</a>
获取顶层父窗口

### toolbarObject.height <a id="toolbarObject.height" href="#toolbarObject.height">&#x23;</a>
获取时返回工具条实际高度。  
只能获取，修改无效。  

注意工具条是默认已经做过 DPI 缩放的，  
所以请在 winform.enableDpiScaling("init"); 以后使用这些属性

### toolbarObject.hwnd <a id="toolbarObject.hwnd" href="#toolbarObject.hwnd">&#x23;</a>
控件句柄

### toolbarObject.imageList <a id="toolbarObject.imageList" href="#toolbarObject.imageList">&#x23;</a>
指定工具条控件的图像列表。  
指定的图像列表支持 DPI 自适应缩放  
发送 _CCM_DPISCALE 消息且其他参数为 0 可关闭  DPI 自适应

### toolbarObject.left <a id="toolbarObject.left" href="#toolbarObject.left">&#x23;</a>
左侧坐标。  
只能获取，修改无效  

注意工具条是默认已经做过 DPI 缩放的，  
所以请在 winform.enableDpiScaling("init"); 以后使用这些属性

### toolbarObject.modifyStyle(移除样式,添加样式) <a id="toolbarObject.modifyStyle" href="#toolbarObject.modifyStyle">&#x23;</a>
所有参数可选,默认为0  
使用 _TBSTYLE_ 前缀常量表示样式

### toolbarObject.onnotify <a id="toolbarObject.onnotify" href="#toolbarObject.onnotify">&#x23;</a>

```aardio
toolbarObject.onnotify = function(id,code,ptr){  
	/*通知事件触发*/  
}
```

### toolbarObject.postMessage(msg,wParam,lParam) <a id="toolbarObject.postMessage" href="#toolbarObject.postMessage">&#x23;</a>
投递窗口消息到消息队列中  
此函数用法请参考 ::User32.PostMessage

### toolbarObject.redraw() <a id="toolbarObject.redraw" href="#toolbarObject.redraw">&#x23;</a>
刷新

### toolbarObject.redrawTransparent() <a id="toolbarObject.redrawTransparent" href="#toolbarObject.redrawTransparent">&#x23;</a>
刷新  
透明背景时请使用此函数替代redraw()

### toolbarObject.right <a id="toolbarObject.right" href="#toolbarObject.right">&#x23;</a>
右侧坐标。  
只能获取，修改无效  

注意工具条是默认已经做过 DPI 缩放的，  
所以请在 winform.enableDpiScaling("init"); 以后使用这些属性

### toolbarObject.sendMessage(msg,wParam,lParam) <a id="toolbarObject.sendMessage" href="#toolbarObject.sendMessage">&#x23;</a>
发送窗口消息  
此函数用法请参考 ::User32.SendMessage

### toolbarObject.setExtended(exstyle) <a id="toolbarObject.setExtended" href="#toolbarObject.setExtended">&#x23;</a>
启用工具条指定扩展样式

### toolbarObject.setExtended(exstyle,false) <a id="toolbarObject.setExtended" href="#toolbarObject.setExtended">&#x23;</a>
取消工具条指定扩展样式

### toolbarObject.setFont(指定字体) <a id="toolbarObject.setFont" href="#toolbarObject.setFont">&#x23;</a>
指定LOGFONT字体对象,或逻辑字体句柄

### toolbarObject.setPos(x坐标,y坐标,宽,高,插入位置,参数) <a id="toolbarObject.setPos" href="#toolbarObject.setPos">&#x23;</a>
调整窗口位置或排序,所有参数可选  
同时指定x,y坐标则移动位置  
同时指定宽高则改变大小  
指定插入位置(句柄或_HWND前缀常量)则调整Z序

### toolbarObject.setRect(rc) <a id="toolbarObject.setRect" href="#toolbarObject.setRect">&#x23;</a>
设置控件区块位置，返回值为 ::RECT结构体

### toolbarObject.setRect(rc,true) <a id="toolbarObject.setRect" href="#toolbarObject.setRect">&#x23;</a>
设置控件屏幕区块位置，返回值为 ::RECT结构体

### toolbarObject.setRedraw(false) <a id="toolbarObject.setRedraw" href="#toolbarObject.setRedraw">&#x23;</a>
禁止重绘

### toolbarObject.setRedraw(true) <a id="toolbarObject.setRedraw" href="#toolbarObject.setRedraw">&#x23;</a>
恢复重绘

### toolbarObject.show(true) <a id="toolbarObject.show" href="#toolbarObject.show">&#x23;</a>
显示控件

### toolbarObject.showLabel <a id="toolbarObject.showLabel" href="#toolbarObject.showLabel">&#x23;</a>
是否在按钮上显示文字

### toolbarObject.style <a id="toolbarObject.style" href="#toolbarObject.style">&#x23;</a>
工具栏样式,数值,  
 使用 _TBSTYLE_ 前缀常量表示样式,  
也支持 _CCS_ 前缀的样式常量,  
直接设置此样式会覆盖工具条原来的一些默认样式,  
例如 让工具条显示在顶部的 _CCS_TOP,这会导致工具条移到底部,  
建议用 modifyStyle 修改样式可避免此问题

### toolbarObject.theme <a id="toolbarObject.theme" href="#toolbarObject.theme">&#x23;</a>
外观主题,例如  
winform.button.theme = "Explorer"  
winform.button.theme = false

### toolbarObject.top <a id="toolbarObject.top" href="#toolbarObject.top">&#x23;</a>
顶部坐标。  
只能获取，修改无效  

注意工具条是默认已经做过 DPI 缩放的，  
所以请在 winform.enableDpiScaling("init"); 以后使用这些属性

### toolbarObject.visible <a id="toolbarObject.visible" href="#toolbarObject.visible">&#x23;</a>
当前控件窗口是否显示。  
仅检查当前窗口的可见性样式（窗口 是否具有 _WS_VISIBLE 样式）。  
不考虑父窗口是否可见，不考虑是否被其他窗口遮挡。  
如果需要同时判断父窗口的可见性，应改用 win.isVisible 函数。

### toolbarObject.width <a id="toolbarObject.width" href="#toolbarObject.width">&#x23;</a>
工具条宽度。  
只能获取，修改无效  

注意工具条是默认已经做过 DPI 缩放的，  
所以请在 winform.enableDpiScaling("init"); 以后使用这些属性

### toolbarObject.wndproc <a id="toolbarObject.wndproc" href="#toolbarObject.wndproc">&#x23;</a>

```aardio
toolbarObject.wndproc = function(hwnd,message,wParam,lParam){  
	/*窗口消息回调，返回任意非null值阻止默认回调  
wndproc重复赋值时追加函数而不是覆盖之前的回调  
设为null添除所有消息回调函数  
wndproc也可以是一个表,键要为处理的消息,值为对应的消息回调函数*/	  
}
```

## toolbarObject 事件列表 <a id="toolbarObjectEvent" href="#toolbarObjectEvent">&#x23;</a>

### toolbarObject.onDestroy <a id="toolbarObject.onDestroy" href="#toolbarObject.onDestroy">&#x23;</a>

```aardio
toolbarObject.onDestroy = function(){  
	/*窗口销毁前触发*/  
}
```

## toolbarObject.buttons 成员列表 <a id="toolbarObject.buttons" href="#toolbarObject.buttons">&#x23;</a>

### toolbarObject.buttons.* <a id="toolbarObject.buttons.any" href="#toolbarObject.buttons.any">&#x23;</a>
[返回对象:toolbarButtonObject](#toolbarButtonObject)

## win.ui 成员列表 <a id="win.ui" href="#win.ui">&#x23;</a>

### win.ui.toolbar() <a id="win.ui.toolbar" href="#win.ui.toolbar">&#x23;</a>
[返回对象:toolbarObject](#toolbarObject)

### win.ui.toolbar(父窗口) <a id="win.ui.toolbar" href="#win.ui.toolbar">&#x23;</a>
工具条控件。  

此控件不建议使用，请改用高级选项（ win.ui.tabs ），  
高级选项卡可以更好地支持字体图标、 DPI 缩放等

### 自动完成常量
_CCS_ADJUSTABLE=0x20  
_CCS_BOTTOM=3  
_CCS_LEFT=0x81  
_CCS_NODIVIDER=0x40  
_CCS_NOMOVEX=0x82  
_CCS_NOMOVEY=2  
_CCS_NOPARENTALIGN=8  
_CCS_NORESIZE=4  
_CCS_RIGHT=0x83  
_CCS_TOP=1  
_CCS_VERT=0x80  
_TBIF_COMMAND=0x20  
_TBIF_IMAGE=1  
_TBIF_LPARAM=0x10  
_TBIF_SIZE=0x40  
_TBIF_STATE=4  
_TBIF_STYLE=8  
_TBIF_TEXT=2  
_TBSTYLE_ALTDRAG=0x400  
_TBSTYLE_AUTOSIZE=0x10  
_TBSTYLE_BUTTON=0  
_TBSTYLE_CHECK=2  
_TBSTYLE_CHECKGROUP=6  
_TBSTYLE_CUSTOMERASE=0x2000  
_TBSTYLE_DROPDOWN=8  
_TBSTYLE_FLAT=0x800  
_TBSTYLE_GROUP=4  
_TBSTYLE_LIST=0x1000  
_TBSTYLE_NOPREFIX=0x20  
_TBSTYLE_REGISTERDROP=0x4000  
_TBSTYLE_SEP=1  
_TBSTYLE_TOOLTIPS=0x100  
_TBSTYLE_TRANSPARENT=0x8000  
_TBSTYLE_WRAPABLE=0x200  
_TB_CHANGEBITMAP=0x42B  
_TB_GETBITMAP=0x42C  
_TB_GETBUTTONSIZE=0x43A  
_TB_GETBUTTONTEXT=0x42D  
_TB_GETDISABLEDIMAGELIST=0x437  
_TB_GETRECT=0x433  
_TB_GETSTYLE=0x439  
_TB_GETTOOLTIPS=0x423  
_TB_SETBUTTONWIDTH=0x43B  
_TB_SETDISABLEDIMAGELIST=0x436  
_TB_SETSTYLE=0x438  
_TB_SETTOOLTIPS=0x424  
