TC官方合作论坛

 找回密码
 立即注册
查看: 628|回复: 8
打印 上一主题 下一主题

[问题] TAB跳转怎么写?

[复制链接]
跳转到指定楼层
楼主
发表于 2014-8-22 22:34:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

假设现有编辑框1,编辑框2
怎么才能按下TAB后光标跳转至编辑框2
回复

使用道具 举报

沙发
发表于 2014-8-22 22:54:24 | 只看该作者
这个问题,我昨天刚问过,别人给我的答案是:自己写

我当时无语了
回复 支持 反对

使用道具 举报

板凳
发表于 2014-8-22 23:39:49 | 只看该作者
1074726574 发表于 2014-8-22 22:54
这个问题,我昨天刚问过,别人给我的答案是:自己写

我当时无语了

明明TC里就自带这个例子  ..  是你自己没注意看  为何总恼怒别人?
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2014-8-23 00:51:46 | 只看该作者
空间 计算器
//默认空间
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)
   
功能结束

功能结束
空间结束
虽然有案例,但...完全不理解哇...上面代码根本不执行
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2014-8-23 04:53:53 | 只看该作者
来人呀
回复 支持 反对

使用道具 举报

6#
发表于 2014-8-23 08:52:39 | 只看该作者
看TC帮助文档有例子的
回复 支持 反对

使用道具 举报

7#
发表于 2014-8-23 11:07:38 | 只看该作者
51977 发表于 2014-8-23 00:51
空间 计算器
//默认空间
WM_KEYDOWN=256//按下一个键

你要在窗口侧边栏加一个消息过程
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2014-8-23 18:19:22 来自手机 | 只看该作者
b44412545 发表于 2014-8-23 11:07
你要在窗口侧边栏加一个消息过程

T_T不会加丫…高手教教呗
回复 支持 反对

使用道具 举报

9#
发表于 2014-8-24 15:51:09 | 只看该作者
1.点击界面的空白处
2.

在这加

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-25 22:16 , Processed in 0.171518 second(s), 24 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表