列标题高度
默认列宽
默认行高
水平边距
垂直边距
行标题宽度
更新
嵌入OLE控件对象
控件所在的父窗口(指win.form对象)
mCtrlGridObject.addCtrl(
button={ cls="button";text="button";left=33;top=32;right=126;bottom=81;autoResize=false }
)
mCtrlGridObject.adjust = function( cx,cy,wParam ) {
};
调整窗口 - 自定义事件函数
获取或修改景颜色数值
底部坐标
是否捕获全局鼠标消息
重新设置间隔时间或回调函数
运行时类名
清空表格,
不指定清空全部内容
| 1 清空普通单元格,
| 2 清空列标题
| 4 清空行标题
删除定时器
参数如果为null则忽略不执行
否则定时器ID必须是setInterval函数或setTimeout函数的返回值
关闭控件窗口
设计时类名
获取或修改字体颜色数值
列总数
嵌入COM控件,
参数@1也可以指定一个已存在的COM对象,
容器对象为可选参数,返回容器对象
创建失败会抛出异常
创建并返回 win.ui.ctrl.mCtrl.gridTable对象
是否禁用
指定文本时,禁用此控件,并显示指定文本,
指定为null时,启用此控件,并恢复控件之前的正常文本
返回外观设置结构体,可调用返回对象的 update 函数更新
返回指定列的MC_TABLECELL结构体
行号省略表示列标题,列号省略表示行标题
返回指定列的文本
行号省略表示列标题,列号省略表示行标题
控件客户区块位置(::RECT结构体)
返回编辑框
控件字体(::LOGFONT结构体)
如果是窗体返回自身
如果是控件则返回_parentForm
返回父窗口
返回相对父窗口客户区的坐标,宽,高,
参数为true返回屏幕坐标,宽,高,
x,y,cx,cy=win.getPos(hwnd)
控件区块位置(::RECT结构体)
控件屏幕区块位置(::RECT结构体)
获取行高度
返回选区
返回控件绑定的数据表
将在此控件范围内的所有其他控件设为此控件的子窗口
高度
控件是否隐藏
控件句柄
控件ID
使窗口绘图区无效
使窗口绘图区无效
不刷新背景
窗体返回true,控件返回false
左侧坐标
将窗口转换为message-only window
该窗口不可见,仅用于消息分发
如果指定第三个参数,则使用此参数调用::SetWidnowPos
如果指定第三个参数,则使用此参数调用::SetWidnowPos
显示错误提示框
请先调用win.dlg.message.install安装此函数
显示皱眉图标提示框
请先调用win.dlg.message.install安装此函数
显示竖大拇指图标提示框
请先调用win.dlg.message.install安装此函数
显示提示框
请先调用win.dlg.message.install安装此函数
显示正确提示框
请先调用win.dlg.message.install安装此函数
显示微笑图标提示框
请先调用win.dlg.message.install安装此函数
显示倒竖大拇指图标提示框
请先调用win.dlg.message.install安装此函数
显示警告提示框
请先调用win.dlg.message.install安装此函数
弹出对话框,可选用参数@2指定标题
弹出错误对话框,可选用参数@2指定标题
弹出询问对话框,可选用参数@2指定标题
mCtrlGridObject.onDestroy = function(){
/*窗口销毁前触发*/
}
mCtrlGridObject.onEditChanged = function(text,row,col,dispInfo){
/*text为列文本,row为行号,col为列号,返回值指定是否允许更新列文本*/
return true;
}
mCtrlGridObject.oncommand = function(id,event){
/*命令事件触发*/
}
mCtrlGridObject.onnotify = function(id,code,ptr){
/*通知事件触发*/
}
使控件脱离原来的窗口,可以显示在父窗口外面,
但仍然显示在原来的位置,继续如影随形的跟随父窗口移动或改变大小,
控件原来的固定边距等参数仍然有效
投递窗口消息到消息队列中
此函数用法请参考 ::User32.PostMessage
在窗口所在界面线程发布消息,
运行界面线程所有所有调用subscribe函数订阅此消息的函数,
可添加任意个触发参数
刷新
刷新
透明背景时请使用此函数替代redraw()
mCtrlGridObject.reduce(
{/*在这里指定要遍历处理每个元素的数组或表,
并在回调函数中返回每次需要间隔的延时,以毫秒为单位,返回0或空值中断处理,
回调参数为下一个元素的值和索引,处理完后回调参数为null,
如果此时未返回null或0退出处理函数,将返回第一个元素继续遍历*/},
function(value,index){
if(value){
return 50
}
}
)
按设计时位置参数、重新调整控件位置以适应窗口当前缩放比例。
父窗口缩放时会自动执行此操作。
默认在启动窗口消息循环时会自适应调整所有控件。
所以在启动消息循环前添加控件不必调用此函数。
发送WM_SIZE消息给窗口
如果指定了参数则调整窗口大小,
无论是否实际调整窗口大小,发送WM_SIZE消息给窗口
调整表格大小,
默认设置默认列标题为字母、行标题为数字
右侧坐标
行总数
根据控件当前位置、缩放比例,更新控件的设计时位置参数。
以避免下次窗口缩放自适应调整控件当前位置更改被清除,
控件所有调整位置的属性或成员函数已自动调用此函数。
发送窗口消息
此函数用法请参考 ::User32.SendMessage
设置格列,参数@3为MC_TABLECELL结构体
行号省略表示列标题,列号省略表示行标题
设置对齐选项,
参数@3应使用一个表指定对齐方式,
对齐表可用left,right,center指定水平对齐选项
可用top bottom,middle指定垂直对齐选项
指定的对齐选项字段值为真时使用该对齐方式
设置列文本
行号省略表示列标题,列号省略表示行标题
设置焦点
指定LOGFONT字体对象,或逻辑字体句柄
mCtrlGridObject.setFont(point=10;name="宋体");
创建定时器
间隔时间以毫秒为单位
改变父窗口
设置控件区块位置(::RECT结构体)
设置控件屏幕区块位置(::RECT结构体)
禁止重绘
恢复重绘
设置行高度
设置选区
修改控件绑定的数据表,
参数应当是 win.ui.ctrl.mCtrl.gridTable对象
推迟执行指定的函数或代码
此函数异步执行参数中指定的函数,不会阻塞当前代码继续执行,
延时参数是可选参数,以毫秒为单位,默认为0毫秒
可选用附加参数指定调用延时函数的实参
返回值为定时器ID
显示控件
setPos(.(x坐标,y坐标,宽,高,插入位置,参数) = 调整窗口位置或排序,所有参数可选
同时指定x,y坐标则移动位置
同时指定宽高则改变大小
指定插入位置(句柄或_HWND前缀常量)则调整Z序
获取下一个支持tab控制焦点的控件
参数@1为true会自动移动焦点到该控件
参数@2为true则获取上一个控件,否则获取下一个控件
控件文本
外观主题,例如
winform.button.theme = "Explorer"
winform.button.theme = false
开启此控件的跨线程调用功能
顶部坐标
mCtrlGridObject.translateAccelerator = function(msg){
/*返回是否快捷键*/
}
这个函数开启消息转发功能,
允许子窗口的_WM_COMMAND,_WM_CTLCOLORSTATIC等消息给父窗口,
使父窗体可以处理这些消息控制控件的外观、触发命令等
嵌入COM控件,
参数@1也可以指定一个已存在的COM对象,
容器对象为可选参数,
成功返回容器对象,失败返回false,错误信息
重绘invalidate函数指定的区块
循环执行等待函数,并等待返回值
直到等待函数返回非空值,或存在第二个返回值,或当前窗口关闭
等待函数返回的值就是wait函数的返回值,
如果指定超时,超过指定毫秒时返回null,
除等待函数以外,所有参数可选
宽度
mCtrlGridObject.wndproc = function(hwnd,message,wParam,lParam){
/*窗口消息回调,返回任意非null值阻止默认回调
wndproc重复赋值时追加函数而不是覆盖之前的回调
设为null添除所有消息回调函数
wndproc也可以是一个表,键要为处理的消息,值为对应的消息回调函数*/
}
MCtrl 表格控件
MCtrl 表格控件
_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