易语言 如何按下按钮,在焦点处输入文本?
3个回答
展开全部
可以获取编辑框中的光标位置,编辑框的起始选择位置属性不会因为失去焦点而无效。
.版本 2
.子程序 _按钮1_被单击
.局部变量 光标前文本, 文本型
.局部变量 随机文本, 文本型
随机文本 = “[#ks#]” + 到文本 (取随机数 (1000, 9999))
光标前文本 = 取文本左边 (随机文本 + 编辑框1.内容, 编辑框1.起始选择位置 + 取文本长度 (随机文本))
编辑框1.内容 = 子文本替换 (子文本替换 (随机文本 + 编辑框1.内容, 光标前文本, 光标前文本 + “A”, 1, 1, 真), 随机文本, , 1, 1, 真)
' 之所以加随机文本,是为了可以在编辑框内容的前面插入文本。 其实不用随机也可以,我只是防止后面“子文本替换”里的“进行替换的起始位置”参数去掉可能出现误删的情况,如果不修改这个参数,那就不用取随机数了,随便指定一个文本就可以。
如果不修改这部分代码,就用下面这个简化之后的,就是把随机文本换成"X":
.版本 2
.子程序 _按钮1_被单击
.局部变量 光标前文本, 文本型
.局部变量 插入文本, 文本型
插入文本 = “A”
光标前文本 = 取文本左边 (“X” + 编辑框1.内容, 编辑框1.起始选择位置 + 1)
编辑框1.内容 = 子文本替换 (子文本替换 (“X” + 编辑框1.内容, 光标前文本, 光标前文本 + 插入文本,1 , 1, 真), “X”, , 1, 1, 真) ' 注意不要省略了参数
.版本 2
.子程序 _按钮1_被单击
.局部变量 光标前文本, 文本型
.局部变量 随机文本, 文本型
随机文本 = “[#ks#]” + 到文本 (取随机数 (1000, 9999))
光标前文本 = 取文本左边 (随机文本 + 编辑框1.内容, 编辑框1.起始选择位置 + 取文本长度 (随机文本))
编辑框1.内容 = 子文本替换 (子文本替换 (随机文本 + 编辑框1.内容, 光标前文本, 光标前文本 + “A”, 1, 1, 真), 随机文本, , 1, 1, 真)
' 之所以加随机文本,是为了可以在编辑框内容的前面插入文本。 其实不用随机也可以,我只是防止后面“子文本替换”里的“进行替换的起始位置”参数去掉可能出现误删的情况,如果不修改这个参数,那就不用取随机数了,随便指定一个文本就可以。
如果不修改这部分代码,就用下面这个简化之后的,就是把随机文本换成"X":
.版本 2
.子程序 _按钮1_被单击
.局部变量 光标前文本, 文本型
.局部变量 插入文本, 文本型
插入文本 = “A”
光标前文本 = 取文本左边 (“X” + 编辑框1.内容, 编辑框1.起始选择位置 + 1)
编辑框1.内容 = 子文本替换 (子文本替换 (“X” + 编辑框1.内容, 光标前文本, 光标前文本 + 插入文本,1 , 1, 真), “X”, , 1, 1, 真) ' 注意不要省略了参数
展开全部
在按钮1_左键被按下事件中用 取获取焦点窗口_ 可以得到焦点组件句柄
.版本 2
.DLL命令 取获取焦点窗口_, 整数型, "user32.dll", "GetFocus", , GetFocus,获得拥有输入焦点的窗口的句柄
.版本 2
.DLL命令 取获取焦点窗口_, 整数型, "user32.dll", "GetFocus", , GetFocus,获得拥有输入焦点的窗口的句柄
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
点按钮的时候,焦点在按钮...所以不存在其他焦点
你想要的功能没法实现
你想要的功能没法实现
追问
我的意思是,比如指定的文字为A, 编辑框的原始内容是 B(光标)C ,单击按钮,内容变成BAC
追答
不能..因为你点按钮的时候获取不到你 (光标) 在编辑框中的位置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询