# win.ui.ctrl.mCtrl.grid 库模块帮助文档

## mCtrlGridGeometryObject 成员列表 <a id="mCtrlGridGeometryObject" href="#mCtrlGridGeometryObject">&#x23;</a>

### mCtrlGridGeometryObject.columnHeaderHeight <a id="mCtrlGridGeometryObject.columnHeaderHeight" href="#mCtrlGridGeometryObject.columnHeaderHeight">&#x23;</a>
列标题高度

### mCtrlGridGeometryObject.defColumnWidth <a id="mCtrlGridGeometryObject.defColumnWidth" href="#mCtrlGridGeometryObject.defColumnWidth">&#x23;</a>
默认列宽

### mCtrlGridGeometryObject.defRowHeight <a id="mCtrlGridGeometryObject.defRowHeight" href="#mCtrlGridGeometryObject.defRowHeight">&#x23;</a>
默认行高

### mCtrlGridGeometryObject.paddingHorz <a id="mCtrlGridGeometryObject.paddingHorz" href="#mCtrlGridGeometryObject.paddingHorz">&#x23;</a>
水平边距

### mCtrlGridGeometryObject.paddingVert <a id="mCtrlGridGeometryObject.paddingVert" href="#mCtrlGridGeometryObject.paddingVert">&#x23;</a>
垂直边距

### mCtrlGridGeometryObject.rowHeaderWidth <a id="mCtrlGridGeometryObject.rowHeaderWidth" href="#mCtrlGridGeometryObject.rowHeaderWidth">&#x23;</a>
行标题宽度

### mCtrlGridGeometryObject.update() <a id="mCtrlGridGeometryObject.update" href="#mCtrlGridGeometryObject.update">&#x23;</a>
更新

## mCtrlGridObject 成员列表 <a id="mCtrlGridObject" href="#mCtrlGridObject">&#x23;</a>

### mCtrlGridObject._embedObject <a id="mCtrlGridObject._embedObject" href="#mCtrlGridObject._embedObject">&#x23;</a>
嵌入OLE控件对象  

[返回对象:embedObject](https://www.aardio.com/zh-cn/docs/library-reference/com/_.html#embedObject)

### mCtrlGridObject._parentForm <a id="mCtrlGridObject._parentForm" href="#mCtrlGridObject._parentForm">&#x23;</a>
控件所在的父窗口(指win.form对象)  

[返回对象:winform](https://www.aardio.com/zh-cn/docs/library-reference/win/ui/_.html#winform)

### mCtrlGridObject.addCtrl <a id="mCtrlGridObject.addCtrl" href="#mCtrlGridObject.addCtrl">&#x23;</a>

```aardio
mCtrlGridObject.addCtrl(  
	button={ cls="button";text="button";left=33;top=32;right=126;bottom=81;autoResize=false }    
)
```

### mCtrlGridObject.adjust <a id="mCtrlGridObject.adjust" href="#mCtrlGridObject.adjust">&#x23;</a>

```aardio
mCtrlGridObject.adjust = function( cx,cy,wParam ) {	   

};
```

### mCtrlGridObject.adjust() <a id="mCtrlGridObject.adjust" href="#mCtrlGridObject.adjust">&#x23;</a>
调整窗口 - 自定义事件函数

### mCtrlGridObject.bgcolor <a id="mCtrlGridObject.bgcolor" href="#mCtrlGridObject.bgcolor">&#x23;</a>
获取或修改景颜色数值

### mCtrlGridObject.bottom <a id="mCtrlGridObject.bottom" href="#mCtrlGridObject.bottom">&#x23;</a>
底部坐标

### mCtrlGridObject.capture <a id="mCtrlGridObject.capture" href="#mCtrlGridObject.capture">&#x23;</a>
是否捕获全局鼠标消息

### mCtrlGridObject.changeInterval(定时器ID,间隔时间,回调函数) <a id="mCtrlGridObject.changeInterval" href="#mCtrlGridObject.changeInterval">&#x23;</a>
重新设置间隔时间或回调函数

### mCtrlGridObject.className <a id="mCtrlGridObject.className" href="#mCtrlGridObject.className">&#x23;</a>
运行时类名

### mCtrlGridObject.clear(行总数,列总数) <a id="mCtrlGridObject.clear" href="#mCtrlGridObject.clear">&#x23;</a>
清空表格,  
不指定清空全部内容  
| 1 清空普通单元格,  
| 2 清空列标题  
| 4 清空行标题

### mCtrlGridObject.clearInterval(定时器ID) <a id="mCtrlGridObject.clearInterval" href="#mCtrlGridObject.clearInterval">&#x23;</a>
删除定时器  
参数如果为null则忽略不执行  
否则定时器ID必须是setInterval函数或setTimeout函数的返回值

### mCtrlGridObject.close() <a id="mCtrlGridObject.close" href="#mCtrlGridObject.close">&#x23;</a>
关闭控件窗口

### mCtrlGridObject.cls <a id="mCtrlGridObject.cls" href="#mCtrlGridObject.cls">&#x23;</a>
设计时类名

### mCtrlGridObject.color <a id="mCtrlGridObject.color" href="#mCtrlGridObject.color">&#x23;</a>
获取或修改字体颜色数值

### mCtrlGridObject.columnCount() <a id="mCtrlGridObject.columnCount" href="#mCtrlGridObject.columnCount">&#x23;</a>
列总数

### mCtrlGridObject.createEmbed("类名",容器对象) <a id="mCtrlGridObject.createEmbed" href="#mCtrlGridObject.createEmbed">&#x23;</a>
嵌入COM控件,  
参数@1也可以指定一个已存在的COM对象,  
容器对象为可选参数,返回容器对象  

创建失败会抛出异常

### mCtrlGridObject.createEmbed() <a id="mCtrlGridObject.createEmbed" href="#mCtrlGridObject.createEmbed">&#x23;</a>
[返回对象:embedObject](https://www.aardio.com/zh-cn/docs/library-reference/com/_.html#embedObject)

### mCtrlGridObject.createTable() <a id="mCtrlGridObject.createTable" href="#mCtrlGridObject.createTable">&#x23;</a>
创建并返回 win.ui.ctrl.mCtrl.gridTable对象  

[返回对象:mCtrlGridTableObject](#mCtrlGridTableObject)

### mCtrlGridObject.disabled <a id="mCtrlGridObject.disabled" href="#mCtrlGridObject.disabled">&#x23;</a>
是否禁用

### mCtrlGridObject.disabledText <a id="mCtrlGridObject.disabledText" href="#mCtrlGridObject.disabledText">&#x23;</a>
指定文本时,禁用此控件,并显示指定文本,  
指定为null时,启用此控件,并恢复控件之前的正常文本

### mCtrlGridObject.geometry() <a id="mCtrlGridObject.geometry" href="#mCtrlGridObject.geometry">&#x23;</a>
返回外观设置结构体，可调用返回对象的 update 函数更新  

[返回对象:mCtrlGridGeometryObject](#mCtrlGridGeometryObject)

### mCtrlGridObject.getCell(行号,列号) <a id="mCtrlGridObject.getCell" href="#mCtrlGridObject.getCell">&#x23;</a>
返回指定列的MC_TABLECELL结构体  
行号省略表示列标题，列号省略表示行标题

### mCtrlGridObject.getCellTextl(行号,列号) <a id="mCtrlGridObject.getCellTextl" href="#mCtrlGridObject.getCellTextl">&#x23;</a>
返回指定列的文本  
行号省略表示列标题，列号省略表示行标题

### mCtrlGridObject.getClientRect() <a id="mCtrlGridObject.getClientRect" href="#mCtrlGridObject.getClientRect">&#x23;</a>
控件客户区块位置(::RECT结构体)  

[返回对象:rectObject](https://www.aardio.com/zh-cn/docs/library-reference/global/_.html#rectObject)

### mCtrlGridObject.getEditor() <a id="mCtrlGridObject.getEditor" href="#mCtrlGridObject.getEditor">&#x23;</a>
返回编辑框  

[返回对象:editObject](https://www.aardio.com/zh-cn/docs/library-reference/win/ui/ctrl/edit.html#editObject)

### mCtrlGridObject.getFont() <a id="mCtrlGridObject.getFont" href="#mCtrlGridObject.getFont">&#x23;</a>
控件字体(::LOGFONT结构体)  

[返回对象:logfontObject](#logfontObject)

### mCtrlGridObject.getForm() <a id="mCtrlGridObject.getForm" href="#mCtrlGridObject.getForm">&#x23;</a>
如果是窗体返回自身  
如果是控件则返回_parentForm  

[返回对象:winform](https://www.aardio.com/zh-cn/docs/library-reference/win/ui/_.html#winform)

### mCtrlGridObject.getParent() <a id="mCtrlGridObject.getParent" href="#mCtrlGridObject.getParent">&#x23;</a>
返回父窗口

### mCtrlGridObject.getPos() <a id="mCtrlGridObject.getPos" href="#mCtrlGridObject.getPos">&#x23;</a>
返回相对父窗口客户区的坐标,宽,高,  
参数为true返回屏幕坐标,宽,高,  
x,y,cx,cy=win.getPos(hwnd)

### mCtrlGridObject.getRect() <a id="mCtrlGridObject.getRect" href="#mCtrlGridObject.getRect">&#x23;</a>
控件区块位置(::RECT结构体)

### mCtrlGridObject.getRect(true) <a id="mCtrlGridObject.getRect" href="#mCtrlGridObject.getRect">&#x23;</a>
控件屏幕区块位置(::RECT结构体)

### mCtrlGridObject.getRowHeight(行号) <a id="mCtrlGridObject.getRowHeight" href="#mCtrlGridObject.getRowHeight">&#x23;</a>
获取行高度

### mCtrlGridObject.getSelection() <a id="mCtrlGridObject.getSelection" href="#mCtrlGridObject.getSelection">&#x23;</a>
返回选区

### mCtrlGridObject.getTable() <a id="mCtrlGridObject.getTable" href="#mCtrlGridObject.getTable">&#x23;</a>
返回控件绑定的数据表  

[返回对象:mCtrlGridTableObject](#mCtrlGridTableObject)

### mCtrlGridObject.group() <a id="mCtrlGridObject.group" href="#mCtrlGridObject.group">&#x23;</a>
将在此控件范围内的所有其他控件设为此控件的子窗口

### mCtrlGridObject.height <a id="mCtrlGridObject.height" href="#mCtrlGridObject.height">&#x23;</a>
高度

### mCtrlGridObject.hide <a id="mCtrlGridObject.hide" href="#mCtrlGridObject.hide">&#x23;</a>
控件是否隐藏

### mCtrlGridObject.hwnd <a id="mCtrlGridObject.hwnd" href="#mCtrlGridObject.hwnd">&#x23;</a>
控件句柄

### mCtrlGridObject.id <a id="mCtrlGridObject.id" href="#mCtrlGridObject.id">&#x23;</a>
控件ID

### mCtrlGridObject.invalidate(/*可选使用::RECT()对象指定客户区*/) <a id="mCtrlGridObject.invalidate(/*可选使用::RECT" href="#mCtrlGridObject.invalidate(/*可选使用::RECT">&#x23;</a>
使窗口绘图区无效

### mCtrlGridObject.invalidate(/*可选使用::RECT()对象指定客户区*/,0) <a id="mCtrlGridObject.invalidate(/*可选使用::RECT" href="#mCtrlGridObject.invalidate(/*可选使用::RECT">&#x23;</a>
使窗口绘图区无效  
不刷新背景

### mCtrlGridObject.isForm <a id="mCtrlGridObject.isForm" href="#mCtrlGridObject.isForm">&#x23;</a>
窗体返回true,控件返回false

### mCtrlGridObject.left <a id="mCtrlGridObject.left" href="#mCtrlGridObject.left">&#x23;</a>
左侧坐标

### mCtrlGridObject.messageOnly() <a id="mCtrlGridObject.messageOnly" href="#mCtrlGridObject.messageOnly">&#x23;</a>
将窗口转换为message-only window  
该窗口不可见,仅用于消息分发

### mCtrlGridObject.modifyStyle(remove,add) <a id="mCtrlGridObject.modifyStyle" href="#mCtrlGridObject.modifyStyle">&#x23;</a>
如果指定第三个参数,则使用此参数调用::SetWidnowPos

### mCtrlGridObject.modifyStyleEx(remove,add) <a id="mCtrlGridObject.modifyStyleEx" href="#mCtrlGridObject.modifyStyleEx">&#x23;</a>
如果指定第三个参数,则使用此参数调用::SetWidnowPos

### mCtrlGridObject.msgErr() <a id="mCtrlGridObject.msgErr" href="#mCtrlGridObject.msgErr">&#x23;</a>
显示错误提示框  
请先调用win.dlg.message.install安装此函数

### mCtrlGridObject.msgFrown() <a id="mCtrlGridObject.msgFrown" href="#mCtrlGridObject.msgFrown">&#x23;</a>
显示皱眉图标提示框  
请先调用win.dlg.message.install安装此函数

### mCtrlGridObject.msgGreat() <a id="mCtrlGridObject.msgGreat" href="#mCtrlGridObject.msgGreat">&#x23;</a>
显示竖大拇指图标提示框  
请先调用win.dlg.message.install安装此函数

### mCtrlGridObject.msgInfo() <a id="mCtrlGridObject.msgInfo" href="#mCtrlGridObject.msgInfo">&#x23;</a>
显示提示框  
请先调用win.dlg.message.install安装此函数

### mCtrlGridObject.msgOk() <a id="mCtrlGridObject.msgOk" href="#mCtrlGridObject.msgOk">&#x23;</a>
显示正确提示框  
请先调用win.dlg.message.install安装此函数

### mCtrlGridObject.msgSmile() <a id="mCtrlGridObject.msgSmile" href="#mCtrlGridObject.msgSmile">&#x23;</a>
显示微笑图标提示框  
请先调用win.dlg.message.install安装此函数

### mCtrlGridObject.msgSorry() <a id="mCtrlGridObject.msgSorry" href="#mCtrlGridObject.msgSorry">&#x23;</a>
显示倒竖大拇指图标提示框  
请先调用win.dlg.message.install安装此函数

### mCtrlGridObject.msgWarn() <a id="mCtrlGridObject.msgWarn" href="#mCtrlGridObject.msgWarn">&#x23;</a>
显示警告提示框  
请先调用win.dlg.message.install安装此函数

### mCtrlGridObject.msgbox("字符串参数") <a id="mCtrlGridObject.msgbox" href="#mCtrlGridObject.msgbox">&#x23;</a>
弹出对话框,可选用参数@2指定标题

### mCtrlGridObject.msgboxErr("字符串参数") <a id="mCtrlGridObject.msgboxErr" href="#mCtrlGridObject.msgboxErr">&#x23;</a>
弹出错误对话框,可选用参数@2指定标题

### mCtrlGridObject.msgboxTest("字符串参数") <a id="mCtrlGridObject.msgboxTest" href="#mCtrlGridObject.msgboxTest">&#x23;</a>
弹出询问对话框,可选用参数@2指定标题

### mCtrlGridObject.oncommand <a id="mCtrlGridObject.oncommand" href="#mCtrlGridObject.oncommand">&#x23;</a>

```aardio
mCtrlGridObject.oncommand = function(id,event){  
	/*命令事件触发*/  
}
```

### mCtrlGridObject.onnotify <a id="mCtrlGridObject.onnotify" href="#mCtrlGridObject.onnotify">&#x23;</a>

```aardio
mCtrlGridObject.onnotify = function(id,code,ptr){  
	/*通知事件触发*/  
}
```

### mCtrlGridObject.orphanWindow() <a id="mCtrlGridObject.orphanWindow" href="#mCtrlGridObject.orphanWindow">&#x23;</a>
使控件脱离原来的窗口,可以显示在父窗口外面,  
但仍然显示在原来的位置,继续如影随形的跟随父窗口移动或改变大小,  
控件原来的固定边距等参数仍然有效

### mCtrlGridObject.postMessage(msg,wParam,lParam) <a id="mCtrlGridObject.postMessage" href="#mCtrlGridObject.postMessage">&#x23;</a>
投递窗口消息到消息队列中  
此函数用法请参考 ::User32.PostMessage

### mCtrlGridObject.publish("字符串参数",) <a id="mCtrlGridObject.publish" href="#mCtrlGridObject.publish">&#x23;</a>
在窗口所在界面线程发布消息,  
运行界面线程所有所有调用subscribe函数订阅此消息的函数,  
可添加任意个触发参数

### mCtrlGridObject.redraw() <a id="mCtrlGridObject.redraw" href="#mCtrlGridObject.redraw">&#x23;</a>
刷新

### mCtrlGridObject.redrawTransparent() <a id="mCtrlGridObject.redrawTransparent" href="#mCtrlGridObject.redrawTransparent">&#x23;</a>
刷新  
透明背景时请使用此函数替代redraw()

### mCtrlGridObject.reduce(array,callback,debounce) <a id="mCtrlGridObject.reduce" href="#mCtrlGridObject.reduce">&#x23;</a>

```aardio
mCtrlGridObject.reduce(  
	{/*在这里指定要遍历处理每个元素的数组或表,  
并在回调函数中返回每次需要间隔的延时,以毫秒为单位,返回0或空值中断处理,  
回调参数为下一个元素的值和索引,处理完后回调参数为null,  
如果此时未返回null或0退出处理函数,将返回第一个元素继续遍历*/},  
	function(value,index){  
		if(value){  
			return 50  
		}  
	}   
)
```

### mCtrlGridObject.reloadScale() <a id="mCtrlGridObject.reloadScale" href="#mCtrlGridObject.reloadScale">&#x23;</a>
按设计时位置参数、重新调整控件位置以适应窗口当前缩放比例。  
父窗口缩放时会自动执行此操作。  
默认在启动窗口消息循环时会自适应调整所有控件。  
所以在启动消息循环前添加控件不必调用此函数。

### mCtrlGridObject.resize <a id="mCtrlGridObject.resize" href="#mCtrlGridObject.resize">&#x23;</a>
发送WM_SIZE消息给窗口

### mCtrlGridObject.resize(宽度,高度) <a id="mCtrlGridObject.resize" href="#mCtrlGridObject.resize">&#x23;</a>
如果指定了参数则调整窗口大小,  
无论是否实际调整窗口大小,发送WM_SIZE消息给窗口

### mCtrlGridObject.resize(行总数,列总数,添加默认标题) <a id="mCtrlGridObject.resize" href="#mCtrlGridObject.resize">&#x23;</a>
调整表格大小,  
默认设置默认列标题为字母、行标题为数字

### mCtrlGridObject.right <a id="mCtrlGridObject.right" href="#mCtrlGridObject.right">&#x23;</a>
右侧坐标

### mCtrlGridObject.rowCount() <a id="mCtrlGridObject.rowCount" href="#mCtrlGridObject.rowCount">&#x23;</a>
行总数

### mCtrlGridObject.saveScale() <a id="mCtrlGridObject.saveScale" href="#mCtrlGridObject.saveScale">&#x23;</a>
根据控件当前位置、缩放比例，更新控件的设计时位置参数。  
以避免下次窗口缩放自适应调整控件当前位置更改被清除，  
控件所有调整位置的属性或成员函数已自动调用此函数。

### mCtrlGridObject.sendMessage(msg,wParam,lParam) <a id="mCtrlGridObject.sendMessage" href="#mCtrlGridObject.sendMessage">&#x23;</a>
发送窗口消息  
此函数用法请参考 ::User32.SendMessage

### mCtrlGridObject.setCell(行号,列号,MC_TABLECELL结构体) <a id="mCtrlGridObject.setCell" href="#mCtrlGridObject.setCell">&#x23;</a>
设置格列，参数@3为MC_TABLECELL结构体  
行号省略表示列标题，列号省略表示行标题

### mCtrlGridObject.setCellAlign(行号,列号,对齐选项) <a id="mCtrlGridObject.setCellAlign" href="#mCtrlGridObject.setCellAlign">&#x23;</a>
设置对齐选项,  
参数@3应使用一个表指定对齐方式,  
对齐表可用left,right,center指定水平对齐选项  
可用top bottom,middle指定垂直对齐选项  
指定的对齐选项字段值为真时使用该对齐方式

### mCtrlGridObject.setCellText(行号,列号,文本) <a id="mCtrlGridObject.setCellText" href="#mCtrlGridObject.setCellText">&#x23;</a>
设置列文本  
行号省略表示列标题，列号省略表示行标题

### mCtrlGridObject.setFocus() <a id="mCtrlGridObject.setFocus" href="#mCtrlGridObject.setFocus">&#x23;</a>
设置焦点

### mCtrlGridObject.setFont(指定字体) <a id="mCtrlGridObject.setFont" href="#mCtrlGridObject.setFont">&#x23;</a>
指定LOGFONT字体对象,或逻辑字体句柄

### mCtrlGridObject.setFont(混入字体属性) <a id="mCtrlGridObject.setFont" href="#mCtrlGridObject.setFont">&#x23;</a>

```aardio
mCtrlGridObject.setFont(point=10;name="宋体");
```

### mCtrlGridObject.setInterval(间隔时间,回调函数) <a id="mCtrlGridObject.setInterval" href="#mCtrlGridObject.setInterval">&#x23;</a>
创建定时器  
间隔时间以毫秒为单位

### mCtrlGridObject.setParent(控件对象) <a id="mCtrlGridObject.setParent" href="#mCtrlGridObject.setParent">&#x23;</a>
改变父窗口

### mCtrlGridObject.setRect(rc) <a id="mCtrlGridObject.setRect" href="#mCtrlGridObject.setRect">&#x23;</a>
设置控件区块位置(::RECT结构体)

### mCtrlGridObject.setRect(rc,true) <a id="mCtrlGridObject.setRect" href="#mCtrlGridObject.setRect">&#x23;</a>
设置控件屏幕区块位置(::RECT结构体)

### mCtrlGridObject.setRedraw(false) <a id="mCtrlGridObject.setRedraw" href="#mCtrlGridObject.setRedraw">&#x23;</a>
禁止重绘

### mCtrlGridObject.setRedraw(true) <a id="mCtrlGridObject.setRedraw" href="#mCtrlGridObject.setRedraw">&#x23;</a>
恢复重绘

### mCtrlGridObject.setRowHeight(行号,高度) <a id="mCtrlGridObject.setRowHeight" href="#mCtrlGridObject.setRowHeight">&#x23;</a>
设置行高度

### mCtrlGridObject.setSelection() <a id="mCtrlGridObject.setSelection" href="#mCtrlGridObject.setSelection">&#x23;</a>
设置选区

### mCtrlGridObject.setTable(gridTalbe) <a id="mCtrlGridObject.setTable" href="#mCtrlGridObject.setTable">&#x23;</a>
修改控件绑定的数据表,  
参数应当是 win.ui.ctrl.mCtrl.gridTable对象

### mCtrlGridObject.setTimeout(函数或代码,延时,其他附加参数) <a id="mCtrlGridObject.setTimeout" href="#mCtrlGridObject.setTimeout">&#x23;</a>
推迟执行指定的函数或代码  
此函数异步执行参数中指定的函数，不会阻塞当前代码继续执行，  
延时参数是可选参数，以毫秒为单位，默认为0毫秒  
可选用附加参数指定调用延时函数的实参  
返回值为定时器ID

### mCtrlGridObject.show(true) <a id="mCtrlGridObject.show" href="#mCtrlGridObject.show">&#x23;</a>
显示控件

### mCtrlGridObject.tabNext() <a id="mCtrlGridObject.tabNext" href="#mCtrlGridObject.tabNext">&#x23;</a>
setPos(.(x坐标,y坐标,宽,高,插入位置,参数) = 调整窗口位置或排序,所有参数可选  
同时指定x,y坐标则移动位置  
同时指定宽高则改变大小  
指定插入位置(句柄或_HWND前缀常量)则调整Z序

### mCtrlGridObject.tabNext(移动焦点,是否反向) <a id="mCtrlGridObject.tabNext" href="#mCtrlGridObject.tabNext">&#x23;</a>
获取下一个支持tab控制焦点的控件  
参数@1为true会自动移动焦点到该控件  
参数@2为true则获取上一个控件,否则获取下一个控件

### mCtrlGridObject.text <a id="mCtrlGridObject.text" href="#mCtrlGridObject.text">&#x23;</a>
控件文本

### mCtrlGridObject.theme <a id="mCtrlGridObject.theme" href="#mCtrlGridObject.theme">&#x23;</a>
外观主题,例如  
winform.button.theme = "Explorer"  
winform.button.theme = false

### mCtrlGridObject.threadCallable() <a id="mCtrlGridObject.threadCallable" href="#mCtrlGridObject.threadCallable">&#x23;</a>
开启此控件的跨线程调用功能

### mCtrlGridObject.top <a id="mCtrlGridObject.top" href="#mCtrlGridObject.top">&#x23;</a>
顶部坐标

### mCtrlGridObject.translateAccelerator <a id="mCtrlGridObject.translateAccelerator" href="#mCtrlGridObject.translateAccelerator">&#x23;</a>

```aardio
mCtrlGridObject.translateAccelerator = function(msg){   
	/*返回是否快捷键*/  
}
```

### mCtrlGridObject.translateCommand() <a id="mCtrlGridObject.translateCommand" href="#mCtrlGridObject.translateCommand">&#x23;</a>
这个函数开启消息转发功能,  
允许子窗口的_WM_COMMAND,_WM_CTLCOLORSTATIC等消息给父窗口,  
使父窗体可以处理这些消息控制控件的外观、触发命令等

### mCtrlGridObject.tryCreateEmbed("类名",容器对象) <a id="mCtrlGridObject.tryCreateEmbed" href="#mCtrlGridObject.tryCreateEmbed">&#x23;</a>
嵌入COM控件,  
参数@1也可以指定一个已存在的COM对象,  
容器对象为可选参数,  

成功返回容器对象,失败返回false,错误信息

### mCtrlGridObject.tryCreateEmbed() <a id="mCtrlGridObject.tryCreateEmbed" href="#mCtrlGridObject.tryCreateEmbed">&#x23;</a>
[返回对象:embedObject](https://www.aardio.com/zh-cn/docs/library-reference/com/_.html#embedObject)

### mCtrlGridObject.update() <a id="mCtrlGridObject.update" href="#mCtrlGridObject.update">&#x23;</a>
重绘invalidate函数指定的区块

### mCtrlGridObject.wait(等待函数,超时,延时间隔) <a id="mCtrlGridObject.wait" href="#mCtrlGridObject.wait">&#x23;</a>
循环执行等待函数,并等待返回值  
直到等待函数返回非空值,或存在第二个返回值,或当前窗口关闭  
等待函数返回的值就是wait函数的返回值,  
如果指定超时,超过指定毫秒时返回null,  
除等待函数以外,所有参数可选

### mCtrlGridObject.width <a id="mCtrlGridObject.width" href="#mCtrlGridObject.width">&#x23;</a>
宽度

### mCtrlGridObject.wndproc <a id="mCtrlGridObject.wndproc" href="#mCtrlGridObject.wndproc">&#x23;</a>

```aardio
mCtrlGridObject.wndproc = function(hwnd,message,wParam,lParam){  
	/*窗口消息回调，返回任意非null值阻止默认回调  
wndproc重复赋值时追加函数而不是覆盖之前的回调  
设为null添除所有消息回调函数  
wndproc也可以是一个表,键要为处理的消息,值为对应的消息回调函数*/	  
}
```

## mCtrlGridObject 事件列表 <a id="mCtrlGridObjectEvent" href="#mCtrlGridObjectEvent">&#x23;</a>

### mCtrlGridObject.onDestroy <a id="mCtrlGridObject.onDestroy" href="#mCtrlGridObject.onDestroy">&#x23;</a>

```aardio
mCtrlGridObject.onDestroy = function(){  
	/*窗口销毁前触发*/  
}
```

### mCtrlGridObject.onEditChanged <a id="mCtrlGridObject.onEditChanged" href="#mCtrlGridObject.onEditChanged">&#x23;</a>

```aardio
mCtrlGridObject.onEditChanged = function(text,row,col,dispInfo){  
 	/*text为列文本,row为行号,col为列号,返回值指定是否允许更新列文本*/  
 	return true;  
}
```

## win.ui.ctrl.mCtrl 成员列表 <a id="win.ui.ctrl.mCtrl" href="#win.ui.ctrl.mCtrl">&#x23;</a>

### win.ui.ctrl.mCtrl.grid <a id="win.ui.ctrl.mCtrl.grid" href="#win.ui.ctrl.mCtrl.grid">&#x23;</a>
MCtrl 表格控件

### win.ui.ctrl.mCtrl.grid() <a id="win.ui.ctrl.mCtrl.grid" href="#win.ui.ctrl.mCtrl.grid">&#x23;</a>
MCtrl 表格控件  

[返回对象:mCtrlGridObject](#mCtrlGridObject)

### 自动完成常量
_MC_GS_COLUMNHEADERALPHABETIC=0x2000  
_MC_GS_COLUMNHEADERMASK=0x3000  
_MC_GS_COLUMNHEADERNONE=0x3000  
_MC_GS_COLUMNHEADERNORMAL=0  
_MC_GS_COLUMNHEADERNUMBERED=0x1000  
_MC_GS_COMPLEXSEL=0x300  
_MC_GS_DOUBLEBUFFER=4  
_MC_GS_EDITLABELS=0x80  
_MC_GS_FOCUSEDCELL=0x40  
_MC_GS_NOGRIDLINES=2  
_MC_GS_NOSEL=0  
_MC_GS_NOTABLECREATE=1  
_MC_GS_OWNERDATA=8  
_MC_GS_RECTSEL=0x200  
_MC_GS_RESIZABLECOLUMNS=0x10  
_MC_GS_RESIZABLEROWS=0x20  
_MC_GS_ROWHEADERALPHABETIC=0x8000  
_MC_GS_ROWHEADERMASK=0xC000  
_MC_GS_ROWHEADERNONE=0xC000  
_MC_GS_ROWHEADERNORMAL=0  
_MC_GS_ROWHEADERNUMBERED=0x4000  
_MC_GS_SHOWSELALWAYS=0x400  
_MC_GS_SINGLESEL=0x100  
