TC官方合作论坛

 找回密码
 立即注册
查看: 1858|回复: 8

[讨论] 窗口设置焦点问题

[复制链接]
发表于 2018-11-29 09:42:40 | 显示全部楼层 |阅读模式

马上加入TC

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

x
本帖最后由 cjxdn 于 2018-11-29 09:44 编辑

官方示例
TAB切换控件焦点


变量 句柄=控件获取句柄("编辑框0")
窗口设置焦点(句柄)

如果编辑框里有文本
设置焦点的光标不是在最后1个文本身上,而是在初始第1个文本身后
        光标I
如:【I这是文本内容】



1.有什么简便的办法设置焦点在最后1个文本身上
如:【这是文本内容I】

2.还有什么简便的办法让编辑框里有文本为 CTRL+A的全选状态
回复

使用道具 举报

发表于 2018-11-30 13:24:29 | 显示全部楼层
编辑框内容获取焦点用模拟键盘试试
回复 支持 反对

使用道具 举报

发表于 2018-12-5 12:49:24 | 显示全部楼层
本帖最后由 剑仙十号 于 2018-12-30 17:35 编辑

00000000
回复

使用道具 举报

发表于 2018-12-5 12:55:03 | 显示全部楼层
窗口类。窗口设置焦点(hwnd)
示例 :TAB切换控件焦点

窗口设置焦点(控件获取句柄("编辑框0"))
如果 编辑框0里面有文本
设置焦点的光标,不是在最后1个文本右边,而是在第1个文本左边。
如:【I这是文本内容】
1.有什么办法,使焦点在最后1个文本右边
如:【这是文本内容I】
2.有什么简便办法,使编辑框里所有文本为 CTRL+A的全选状态

var hwnd = 控件获取句柄("编辑框0")
窗口设置焦点(hwnd)
//全选.
键盘按下(Shift)
窗口发送按键(hwnd, End)
键盘弹起(Shift)
//向右.
窗口发送按键(hwnd, →)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-5 15:05:53 | 显示全部楼层
剑仙十号 发表于 2018-12-5 12:55
窗口类。窗口设置焦点(hwnd)
示例 :TAB切换控件焦点

我是这样做的
我只是想问问有没有大神教下
像API之类的方式
一行命令实现出来
回复 支持 反对

使用道具 举报

发表于 2018-12-29 21:01:32 | 显示全部楼层
发送消息可以实现

var length = windowsendmessage(edithwnd, 14, 0, 0)//获取文本长度
        windowsendmessage(edithwnd, 177, 0, length)//选中全部
        windowsendmessage(edithwnd, 177, length + 2, -1)//选中末尾 0个字符
    end

评分

参与人数 1威望 +10 金币 +10 收起 理由
cjxdn + 10 + 10 很给力!

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2018-12-30 18:10:34 | 显示全部楼层
发现楼上的代码,可以改进下。

var edithwnd = 控件获取句柄("编辑框0")
var EM_SETSEL = 177 //#b1
windowsendmessage(edithwnd, EM_SETSEL, 0, -1)//选中全部
windowsendmessage(edithwnd, EM_SETSEL, -1, -1)//选中末尾.0个字符

评分

参与人数 1威望 +10 金币 +10 收起 理由
cjxdn + 10 + 10 很给力!

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-30 22:21:44 | 显示全部楼层
剑仙十号 发表于 2018-12-30 18:10
发现楼上的代码,可以改进下。

var edithwnd = 控件获取句柄("编辑框0")

变量 控件句柄 = 控件获取句柄("编辑框0")
窗口发送消息(控件句柄, 177, 0, -1)//选中全部//可单独使用这一句
窗口发送消息(控件句柄, 177, -1, -1)//选中末尾 0个字符//需要配合【选中全部】一起使用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-30 22:22:37 | 显示全部楼层
minews 发表于 2018-12-29 21:01
发送消息可以实现

var length = windowsendmessage(edithwnd, 14, 0, 0)//获取文本长度

变量 控件句柄 = 控件获取句柄("编辑框0")
窗口发送消息(控件句柄, 177, 0, -1)//选中全部//可单独使用这一句
窗口发送消息(控件句柄, 177, -1, -1)//选中末尾 0个字符//需要配合【选中全部】一起使用


感谢讨论
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-3-29 18:44 , Processed in 0.061483 second(s), 26 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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