马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 cjxdn 于 2015-5-2 00:39 编辑
官方的示例:
- 空间 实现TAB切换控件焦点
- WM_KEYDOWN=256//按下一个键
- WM_KEYUP=257//释放一个键
- WM_SETFOCUS=7//获得焦点后
- WM_KILLFOCUS=8//失去焦点
- VK_TAB=9//TAB
- //上面的消息以及一些键盘的常量定义大家可以参考文档里面的 第12章 ASCII表与虚拟键码表
- max=3//控件的数量
- 控件名=数组[1]//控件的名字最好定义在统一的方便代码的实现
- 功能 初始化()
- 控件名=数组空间.重定义(控件名,1,max)//重新构造数组大小
- 控件名[0]="编辑框0"
- 控件名[1]="编辑框1"
- 控件名[2]="编辑框2"
-
- 功能结束
- 功能 实现TAB切换控件焦点_消息路由(句柄,消息,w参数,l参数,时间,x坐标,y坐标)
- 选择(消息)
- 条件 256://WM_KEYDOWN select的条件不能为变量只能为常量
- 如果(w参数==VK_TAB)//当按下TAB键的时候设置下一个控件的焦点
- 遍历(i=0;i<max;i++)//用循环遍历当前焦点所在的控件
- 如果(句柄==控件.获得句柄(控件名[i]))
- 如果(i==(max-1))//如果当前是最后一个控件,自动把焦点移动到第一个控件
- 窗口.设置焦点(控件.获得句柄(控件名[0]))
- 键盘.按下(17)//Ctrl
- 键盘.按下(65)//A
- 键盘.按键(39)//→
- 键盘.弹起(65)//A
- 键盘.弹起(17)//Ctrl
- 返回 真//处理完成后必须直接返回真,否则不能正常执行
- 如果结束
- 窗口.设置焦点(控件.获得句柄(控件名[i+1]))//设置下一个控件的焦点
- 键盘.按下(17)//Ctrl
- 键盘.按下(65)//A
- 键盘.按键(39)//→
- 键盘.弹起(65)//A
- 键盘.弹起(17)//Ctrl
- 返回 真//处理完成后必须直接返回真,否则不能正常执行
- 如果结束
- 遍历结束
- 如果结束
- 选择结束
- 返回 假
- 功能结束
- 空间结束
复制代码
如果编辑框里是 数字和字母情况下,能实现把浮标移到内容的最右边,浮标移到内容的最后1位,但当编辑框里是 文字汉字的时候就无效了,还有啥好办法
麻烦大神来拯救 |