# win.ui.ctrl.calendar 库模块帮助文档

## win.ui.ctrl 成员列表 <a id="win.ui.ctrl" href="#win.ui.ctrl">&#x23;</a>

### win.ui.ctrl.calendar() <a id="win.ui.ctrl.calendar" href="#win.ui.ctrl.calendar">&#x23;</a>
日历控件  

[返回对象:calendarObject](#calendarObject)

## calendarObject 成员列表 <a id="calendarObject" href="#calendarObject">&#x23;</a>

### calendarObject._parentForm <a id="calendarObject._parentForm" href="#calendarObject._parentForm">&#x23;</a>
返回创建控件的容器窗口（win.form对象），所有窗口控件都拥有此只读属性。  
对于使用窗体设计器创建的窗口，也就是返回设计时窗体容器。  

即使子窗口移除子窗口样式、更改父子关系，或以 orphanWindow显示，  
控件的 _parentForm 始终都不会改变  

[返回对象:winform](https://www.aardio.com/zh-cn/docs/library-reference/win/ui/_.html#winform)

### calendarObject.bottom <a id="calendarObject.bottom" href="#calendarObject.bottom">&#x23;</a>
底部坐标

### calendarObject.capture <a id="calendarObject.capture" href="#calendarObject.capture">&#x23;</a>
是否捕获全局鼠标消息

### calendarObject.className <a id="calendarObject.className" href="#calendarObject.className">&#x23;</a>
运行时类名

### calendarObject.close() <a id="calendarObject.close" href="#calendarObject.close">&#x23;</a>
关闭控件窗口

### calendarObject.cls <a id="calendarObject.cls" href="#calendarObject.cls">&#x23;</a>
设计时类名

### calendarObject.disabled <a id="calendarObject.disabled" href="#calendarObject.disabled">&#x23;</a>
是否禁用

### calendarObject.getClientRect() <a id="calendarObject.getClientRect" href="#calendarObject.getClientRect">&#x23;</a>
控件客户区块位置(::RECT结构体)  

[返回对象:rectObject](https://www.aardio.com/zh-cn/docs/library-reference/global/_.html#rectObject)

### calendarObject.getFont() <a id="calendarObject.getFont" href="#calendarObject.getFont">&#x23;</a>
控件字体(::LOGFONT结构体)  

[返回对象:logfontObject](#logfontObject)

### calendarObject.getParent() <a id="calendarObject.getParent" href="#calendarObject.getParent">&#x23;</a>
返回父窗口  

[返回对象:staticObject](https://www.aardio.com/zh-cn/docs/library-reference/win/ui/ctrl/static.html#staticObject)

### calendarObject.getPos() <a id="calendarObject.getPos" href="#calendarObject.getPos">&#x23;</a>
返回相对坐标,宽,高  
x,y,cx,cy=win.getPos(hwnd)

### calendarObject.getRange() <a id="calendarObject.getRange" href="#calendarObject.getRange">&#x23;</a>
返回两个time()对象:时间范围下限,时间范围上限  
如果未调用setRange()指定上限或下限,相应值返回为空

### calendarObject.getRect() <a id="calendarObject.getRect" href="#calendarObject.getRect">&#x23;</a>
控件区块位置(::RECT结构体)

### calendarObject.getRect(true) <a id="calendarObject.getRect" href="#calendarObject.getRect">&#x23;</a>
控件屏幕区块位置(::RECT结构体)

### calendarObject.height <a id="calendarObject.height" href="#calendarObject.height">&#x23;</a>
高度

### calendarObject.hwnd <a id="calendarObject.hwnd" href="#calendarObject.hwnd">&#x23;</a>
控件句柄

### calendarObject.id <a id="calendarObject.id" href="#calendarObject.id">&#x23;</a>
控件ID

### calendarObject.invalidate(/*可选使用::RECT()对象指定客户区*/) <a id="calendarObject.invalidate(/*可选使用::RECT" href="#calendarObject.invalidate(/*可选使用::RECT">&#x23;</a>
使窗口绘图区无效

### calendarObject.invalidate(/*可选使用::RECT()对象指定客户区*/,0) <a id="calendarObject.invalidate(/*可选使用::RECT" href="#calendarObject.invalidate(/*可选使用::RECT">&#x23;</a>
使窗口绘图区无效  
不刷新背景

### calendarObject.left <a id="calendarObject.left" href="#calendarObject.left">&#x23;</a>
左侧坐标

### calendarObject.modifyStyle(remove,add,swpFlags) <a id="calendarObject.modifyStyle" href="#calendarObject.modifyStyle">&#x23;</a>
修改窗口样式,所有参数都是可选参数,  
@remove 用数值指定要移除的样式,可使用 _WS_ 前缀的常量  
@add 用数值指定要添加的样式,可使用 _WS_ 前缀的常量  
@swpFlags 可选用数值指定调整窗口选项,可使用 _SWP_ 前缀的常量  
如果指定了 @swpFlag ,则使用该参数调用::SetWindowPos  
细节请参考 win.modifyStyle 函数源码

### calendarObject.modifyStyleEx(remove,add,swpFlags) <a id="calendarObject.modifyStyleEx" href="#calendarObject.modifyStyleEx">&#x23;</a>
修改窗口扩展样式,所有参数都是可选参数,  
@remove 用数值指定要移除的样式,可使用 _WS_EX_ 前缀的常量  
@add 用数值指定要添加的样式,可使用 _WS_EX_ 前缀的常量  
@swpFlags 可选用数值指定调整窗口选项,可使用 _SWP_ 前缀的常量  
如果指定了 @swpFlag ,则使用该参数调用::SetWindowPos  
细节请参考 win.modifyStyle 函数源码

### calendarObject.postMessage(msg,wParam,lParam) <a id="calendarObject.postMessage" href="#calendarObject.postMessage">&#x23;</a>
投递窗口消息到消息队列中  
此函数用法请参考 ::User32.PostMessage

### calendarObject.redraw() <a id="calendarObject.redraw" href="#calendarObject.redraw">&#x23;</a>
刷新

### calendarObject.right <a id="calendarObject.right" href="#calendarObject.right">&#x23;</a>
右侧坐标

### calendarObject.sendMessage(msg,wParam,lParam) <a id="calendarObject.sendMessage" href="#calendarObject.sendMessage">&#x23;</a>
发送窗口消息  
此函数用法请参考 ::User32.SendMessage

### calendarObject.setFocus() <a id="calendarObject.setFocus" href="#calendarObject.setFocus">&#x23;</a>
设置焦点

### calendarObject.setFont(指定字体) <a id="calendarObject.setFont" href="#calendarObject.setFont">&#x23;</a>
指定LOGFONT字体对象,或逻辑字体句柄

### calendarObject.setFont(混入字体属性) <a id="calendarObject.setFont" href="#calendarObject.setFont">&#x23;</a>

```aardio
calendarObject.setFont(point=10;name="宋体");
```

### calendarObject.setParent(控件对象) <a id="calendarObject.setParent" href="#calendarObject.setParent">&#x23;</a>
改变父窗口

### calendarObject.setPos(x坐标,y坐标,宽,高,插入位置,参数) <a id="calendarObject.setPos" href="#calendarObject.setPos">&#x23;</a>
调整窗口位置或排序,所有参数可选  
同时指定x,y坐标则移动位置  
同时指定宽高则改变大小  
指定插入位置(句柄或_HWND前缀常量)则调整Z序

### calendarObject.setRange(时间下限,时间上限) <a id="calendarObject.setRange" href="#calendarObject.setRange">&#x23;</a>
设置时间范围,参数为time()对象  
可省略其中一个参数,仅指定下限或仅指定上限

### calendarObject.setRect(rc) <a id="calendarObject.setRect" href="#calendarObject.setRect">&#x23;</a>
设置控件区块位置(::RECT结构体)

### calendarObject.setRect(rc,true) <a id="calendarObject.setRect" href="#calendarObject.setRect">&#x23;</a>
设置控件屏幕区块位置(::RECT结构体)

### calendarObject.show(true) <a id="calendarObject.show" href="#calendarObject.show">&#x23;</a>
显示控件

### calendarObject.text <a id="calendarObject.text" href="#calendarObject.text">&#x23;</a>
控件文本

### calendarObject.theme <a id="calendarObject.theme" href="#calendarObject.theme">&#x23;</a>
外观主题,例如  
winform.button.theme = "Explorer"  
winform.button.theme = false

### calendarObject.time <a id="calendarObject.time" href="#calendarObject.time">&#x23;</a>
获取或设置时间，值为 time 对象。  
写入属性值时支持可使用 time 构造函数转换为时间对象的参数。  
在读取此属性值时，保留上次设置此属性的时间对象使用的 format 字段  

[返回对象:timeObject](https://www.aardio.com/zh-cn/docs/library-reference/time/_.html#timeObject)

### calendarObject.top <a id="calendarObject.top" href="#calendarObject.top">&#x23;</a>
顶部坐标

### calendarObject.update() <a id="calendarObject.update" href="#calendarObject.update">&#x23;</a>
重绘invalidate函数指定的区块

### calendarObject.value <a id="calendarObject.value" href="#calendarObject.value">&#x23;</a>
获取或设置时间，值为 time 对象。  
写入属性值时支持可使用 time 构造函数转换为时间对象的参数。  
在读取此属性值时，保留上次设置此属性的时间对象使用的 format 字段  

[返回对象:timeObject](https://www.aardio.com/zh-cn/docs/library-reference/time/_.html#timeObject)

### calendarObject.visible <a id="calendarObject.visible" href="#calendarObject.visible">&#x23;</a>
当前控件窗口是否显示。  
仅检查当前窗口的可见性样式（窗口 是否具有 _WS_VISIBLE 样式）。  
不考虑父窗口是否可见，不考虑是否被其他窗口遮挡。  
如果需要同时判断父窗口的可见性，应改用 win.isVisible 函数。

### calendarObject.width <a id="calendarObject.width" href="#calendarObject.width">&#x23;</a>
宽度

## calendarObject 事件列表 <a id="calendarObjectEvent" href="#calendarObjectEvent">&#x23;</a>

### calendarObject.onDateTimeChanged <a id="calendarObject.onDateTimeChanged" href="#calendarObject.onDateTimeChanged">&#x23;</a>

```aardio
calendarObject.onDateTimeChanged = function(startTime,endTime){
	/*日期改变时触发此事件，  
startTime 为开始日期，endTime 为结束日期。  
如果创建控件时指定了 msel 为 true 则允许多选时间范围（不超过一周）。*/
}
```

### calendarObject.onFocusGot <a id="calendarObject.onFocusGot" href="#calendarObject.onFocusGot">&#x23;</a>

```aardio
calendarObject.onFocusGot = function(){
	/*控件得到焦点回调此函数*/	
}
```

### calendarObject.onFocusLost <a id="calendarObject.onFocusLost" href="#calendarObject.onFocusLost">&#x23;</a>

```aardio
calendarObject.onFocusLost = function(){
	/*控件失去焦点回调此函数*/
}
```

### 自动完成常量
_MCM_FIRST=0x1000  
