# win.ui.statusbar 库模块帮助文档

## statusbarObject 成员列表 <a id="statusbarObject" href="#statusbarObject">&#x23;</a>

### statusbarObject.addItem(文本, /*宽度*/) <a id="statusbarObject.addItem" href="#statusbarObject.addItem">&#x23;</a>
创建一个状态栏分块

### statusbarObject.bgcolor <a id="statusbarObject.bgcolor" href="#statusbarObject.bgcolor">&#x23;</a>
背景颜色

### statusbarObject.bottom <a id="statusbarObject.bottom" href="#statusbarObject.bottom">&#x23;</a>
底部坐标。  
只能获取，修改无效  

注意状态栏是默认已经做过 DPI 缩放的，  
所以请在 winform.enableDpiScaling("init"); 以后使用这些属性

### statusbarObject.capture <a id="statusbarObject.capture" href="#statusbarObject.capture">&#x23;</a>
是否捕获全局鼠标消息

### statusbarObject.className <a id="statusbarObject.className" href="#statusbarObject.className">&#x23;</a>
运行时类名

### statusbarObject.close() <a id="statusbarObject.close" href="#statusbarObject.close">&#x23;</a>
清除状态栏

### statusbarObject.cls <a id="statusbarObject.cls" href="#statusbarObject.cls">&#x23;</a>
设计时类名

### statusbarObject.count() <a id="statusbarObject.count" href="#statusbarObject.count">&#x23;</a>
获取分块的数量

### statusbarObject.disabled <a id="statusbarObject.disabled" href="#statusbarObject.disabled">&#x23;</a>
是否禁用

### statusbarObject.getBorders() <a id="statusbarObject.getBorders" href="#statusbarObject.getBorders">&#x23;</a>
返回上下边框，左右边框，间隔边框宽度，  
这个值实际测试基本都是返回 2,0,2

### statusbarObject.getFont(true) <a id="statusbarObject.getFont" href="#statusbarObject.getFont">&#x23;</a>
返回控件字体，返回值为 ::LOGFONT 结构体  

[返回对象:logfontObject](#logfontObject)

### statusbarObject.getForm() <a id="statusbarObject.getForm" href="#statusbarObject.getForm">&#x23;</a>
标准库 win.ui 创建的所有窗体与控件对象都拥有此属性。  
win.form 创建的窗体对象返回自身，其他控件对象返回创建控件的容器窗口（ _parentForm 属性 ）。

### statusbarObject.getItemRect() <a id="statusbarObject.getItemRect" href="#statusbarObject.getItemRect">&#x23;</a>
返回表示项目区块位置的 ::RECT 结构体，  
参数指定从 1 开始的项目索引

[返回对象:rectObject](https://www.aardio.com/zh-cn/docs/library-reference/global/_.html#rectObject)

### statusbarObject.getItemWidth(第几个分块) <a id="statusbarObject.getItemWidth" href="#statusbarObject.getItemWidth">&#x23;</a>
获取指定分块的宽度,分块从 1 开始

### statusbarObject.getParent() <a id="statusbarObject.getParent" href="#statusbarObject.getParent">&#x23;</a>
返回父窗口  

[返回对象:winform](https://www.aardio.com/zh-cn/docs/library-reference/win/ui/_.html#winform)

### statusbarObject.getPos() <a id="statusbarObject.getPos" href="#statusbarObject.getPos">&#x23;</a>
返回相对父窗口客户区的坐标,宽,高,  
参数为 true 返回屏幕坐标,宽,高  

注意状态栏是默认已经做过 DPI 缩放的，  
所以请在 winform.enableDpiScaling("init"); 以后使用这些属性

### statusbarObject.getRect() <a id="statusbarObject.getRect" href="#statusbarObject.getRect">&#x23;</a>
控件区块位置，返回值为 ::RECT结构体  

[返回对象:rectObject](https://www.aardio.com/zh-cn/docs/library-reference/global/_.html#rectObject)

### statusbarObject.getRect(true) <a id="statusbarObject.getRect" href="#statusbarObject.getRect">&#x23;</a>
控件屏幕区块位置，返回值为 ::RECT结构体

### statusbarObject.getRoot() <a id="statusbarObject.getRoot" href="#statusbarObject.getRoot">&#x23;</a>
获取顶层父窗口

### statusbarObject.getText() <a id="statusbarObject.getText" href="#statusbarObject.getText">&#x23;</a>
获取状态栏的文本(无分块)

### statusbarObject.getText(第几个分块) <a id="statusbarObject.getText" href="#statusbarObject.getText">&#x23;</a>
获取指定分块的文本,分块从 1 开始

### statusbarObject.height <a id="statusbarObject.height" href="#statusbarObject.height">&#x23;</a>
获取时返回状态栏实际高度。  
修改高度无效，请改用 setMinHeight 函数。  

注意状态栏是默认已经做过 DPI 缩放的，  
所以请在 winform.enableDpiScaling("init"); 以后使用这些属性

### statusbarObject.hwnd <a id="statusbarObject.hwnd" href="#statusbarObject.hwnd">&#x23;</a>
控件句柄

### statusbarObject.insertItem(文本, /*插入位置*/, /*宽度*/) <a id="statusbarObject.insertItem" href="#statusbarObject.insertItem">&#x23;</a>
插入一个状态栏分块,插入位置从 1 开始

### statusbarObject.left <a id="statusbarObject.left" href="#statusbarObject.left">&#x23;</a>
左侧坐标。  
只能获取，修改无效  

注意状态栏是默认已经做过 DPI 缩放的，  
所以请在 winform.enableDpiScaling("init"); 以后使用这些属性

### statusbarObject.modifyStyle(移除样式,添加样式) <a id="statusbarObject.modifyStyle" href="#statusbarObject.modifyStyle">&#x23;</a>
所有参数可选,默认为0  
使用 _TBSTYLE_ 前缀常量表示样式

### statusbarObject.onnotify <a id="statusbarObject.onnotify" href="#statusbarObject.onnotify">&#x23;</a>

```aardio
statusbarObject.onnotify = function(id,code,ptr){  
	/*通知事件触发*/  
}
```

### statusbarObject.postMessage(msg,wParam,lParam) <a id="statusbarObject.postMessage" href="#statusbarObject.postMessage">&#x23;</a>
投递窗口消息到消息队列中  
此函数用法请参考 ::User32.PostMessage

### statusbarObject.redraw() <a id="statusbarObject.redraw" href="#statusbarObject.redraw">&#x23;</a>
刷新

### statusbarObject.redrawTransparent() <a id="statusbarObject.redrawTransparent" href="#statusbarObject.redrawTransparent">&#x23;</a>
刷新  
透明背景时请使用此函数替代 redraw()

### statusbarObject.right <a id="statusbarObject.right" href="#statusbarObject.right">&#x23;</a>
右侧坐标。  
只能获取，修改无效  

注意状态栏是默认已经做过 DPI 缩放的，  
所以请在 winform.enableDpiScaling("init"); 以后使用这些属性

### statusbarObject.sendMessage(msg,wParam,lParam) <a id="statusbarObject.sendMessage" href="#statusbarObject.sendMessage">&#x23;</a>
发送窗口消息  
此函数用法请参考 ::User32.SendMessage

### statusbarObject.setFont(指定字体) <a id="statusbarObject.setFont" href="#statusbarObject.setFont">&#x23;</a>
指定LOGFONT字体对象,或逻辑字体句柄

### statusbarObject.setItemWidth(第几个分块, /*宽度*/) <a id="statusbarObject.setItemWidth" href="#statusbarObject.setItemWidth">&#x23;</a>
设置指定分块的宽度,分块从 1 开始

### statusbarObject.setMinHeight() <a id="statusbarObject.setMinHeight" href="#statusbarObject.setMinHeight">&#x23;</a>
设置状态栏内部最小高度，  
此高度已包含上下边框宽度（通常是 2 个像素）。  
此函数已自动支持 DPI 缩放

### statusbarObject.setRedraw(false) <a id="statusbarObject.setRedraw" href="#statusbarObject.setRedraw">&#x23;</a>
禁止重绘

### statusbarObject.setRedraw(true) <a id="statusbarObject.setRedraw" href="#statusbarObject.setRedraw">&#x23;</a>
恢复重绘

### statusbarObject.setText(文本) <a id="statusbarObject.setText" href="#statusbarObject.setText">&#x23;</a>
设置状态栏的文本(无分块)

### statusbarObject.setText(文本, /*第几个分块*/) <a id="statusbarObject.setText" href="#statusbarObject.setText">&#x23;</a>
设置指定分块的文本,分块从 1 开始

### statusbarObject.show(true) <a id="statusbarObject.show" href="#statusbarObject.show">&#x23;</a>
显示控件

### statusbarObject.theme <a id="statusbarObject.theme" href="#statusbarObject.theme">&#x23;</a>
外观主题,例如  
winform.button.theme = "Explorer"  
winform.button.theme = false

### statusbarObject.top <a id="statusbarObject.top" href="#statusbarObject.top">&#x23;</a>
顶部坐标。  
只能获取，修改无效  

注意状态栏是默认已经做过 DPI 缩放的，  
所以请在 winform.enableDpiScaling("init"); 以后使用这些属性

### statusbarObject.visible <a id="statusbarObject.visible" href="#statusbarObject.visible">&#x23;</a>
当前控件窗口是否显示。  
仅检查当前窗口的可见性样式（窗口 是否具有 _WS_VISIBLE 样式）。  
不考虑父窗口是否可见，不考虑是否被其他窗口遮挡。  
如果需要同时判断父窗口的可见性，应改用 win.isVisible 函数。

### statusbarObject.width <a id="statusbarObject.width" href="#statusbarObject.width">&#x23;</a>
状态栏宽度。  
只能获取，修改无效  

注意状态栏是默认已经做过 DPI 缩放的，  
所以请在 winform.enableDpiScaling("init"); 以后使用这些属性

### statusbarObject.wndproc <a id="statusbarObject.wndproc" href="#statusbarObject.wndproc">&#x23;</a>

```aardio
statusbarObject.wndproc = function(hwnd,message,wParam,lParam){  
	/*窗口消息回调，返回任意非null值阻止默认回调  
wndproc重复赋值时追加函数而不是覆盖之前的回调  
设为null添除所有消息回调函数  
wndproc也可以是一个表,键要为处理的消息,值为对应的消息回调函数*/	  
}
```

## statusbarObject 事件列表 <a id="statusbarObjectEvent" href="#statusbarObjectEvent">&#x23;</a>

### statusbarObject.onDestroy <a id="statusbarObject.onDestroy" href="#statusbarObject.onDestroy">&#x23;</a>

```aardio
statusbarObject.onDestroy = function(){  
	/*窗口销毁前触发*/  
}
```

## win.ui 成员列表 <a id="win.ui" href="#win.ui">&#x23;</a>

### win.ui.statusbar <a id="win.ui.statusbar" href="#win.ui.statusbar">&#x23;</a>
状态栏控件

### win.ui.statusbar() <a id="win.ui.statusbar" href="#win.ui.statusbar">&#x23;</a>
[返回对象:statusbarObject](#statusbarObject)

### win.ui.statusbar(父窗口) <a id="win.ui.statusbar" href="#win.ui.statusbar">&#x23;</a>
创建一个状态栏
