空间 计算器
//默认空间
WM_KEYDOWN=256//按下一个键
WM_KEYUP=257//释放一个键
WM_SETFOCUS=7//获得焦点后
WM_KILLFOCUS=8//失去焦点
VK_TAB=9//TAB
//上面的消息以及一些键盘的常量定义大家可以参考文档里面的 第12章 ASCII表与虚拟键码表
max=6//控件的数量
控件名=数组[1]//控件的名字最好定义在统一的方便代码的实现
//也可以把控件名写到一个数组里面也是可以的
功能 初始化()
//这里添加你要执行的代码
控件名=数组空间.重定义(控件名,1,max)//重新构造数组大小
控件名[0]="编辑框0"
控件名[1]="编辑框1"
控件名[2]="编辑框2"
控件名[4]="编辑框4"
控件名[5]="编辑框5"
控件名[6]="编辑框6"
功能结束
//消息路由功能
功能 实现TAB切换控件焦点_消息路由(句柄,消息,w参数,l参数,时间,x坐标,y坐标)
select(消息)
case 256://WM_KEYDOWN select的条件不能为变量只能为常量
if(w参数==VK_TAB)//当按下TAB键的时候设置下一个控件的焦点
for(i=0;i<max;i++)//用循环遍历当前焦点所在的控件
if(句柄==control.gethandle(控件名[i]))
if(i==(max-1))//如果当前是最后一个控件,自动把焦点移动到第一个控件
window.setfocus(control.gethandle(控件名[0]))
返回 真//处理完成后必须直接返回真,否则不能正常执行
endif
window.setfocus(control.gethandle(控件名[i+1]))//设置下一个控件的焦点
返回 真//处理完成后必须直接返回真,否则不能正常执行
endif
endfor
endif
endselect
返回 假
功能结束
功能 按钮0_点击()
//这里添加你要执行的代码
变量 date1,date2,date3,result
date1=edit.gettext("编辑框0")
date2=edit.gettext("编辑框1")
date3=edit.gettext("编辑框2")
if(!type.isint(date1) && !type.isdouble(date1))
help.messagebox("请输入数值")
endif
if(!type.isint(date2) && !type.isdouble(date2))
help.messagebox("请输入数值")
endif
if(!type.isint(date3) && !type.isdouble(date3))
help.messagebox("请输入数值")
endif
result=date1*date2+date3
edit.settext("编辑框3",result)
功能结束
功能 按钮1_点击()
//这里添加你要执行的代码
变量 date1,date2,date3,result
date1=edit.gettext("编辑框4")
date2=edit.gettext("编辑框5")
date3=edit.gettext("编辑框6")
result=date1-date2*date3
if(!type.isint(date1) && !type.isdouble(date1))
help.messagebox("请输入数值")
endif
if(!type.isint(date2) && !type.isdouble(date2))
help.messagebox("请输入数值")
endif
if(!type.isint(date3) && !type.isdouble(date3))
help.messagebox("请输入数值")
endif
edit.settext("编辑框7",result)
功能结束
功能结束
空间结束
虽然有案例,但...完全不理解哇...上面代码根本不执行
|