易语言:怎么让超级编辑框中的文本,逐行变色。

注:因为文本中有数字也有文字,所以取行文本字符很难确认取多少字符,希望有高手能帮忙搞一下,谢谢... 注:因为文本中有数字也有文字,所以取行文本字符很难确认取多少字符,希望有高手能帮忙搞一下,谢谢 展开
 我来答
1997排长
高粉答主

2016-01-25 · 说的都是干货,快来关注
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:779万
展开全部
.版本 2
.支持库 iext2

‘粘贴到易语言里 调用’指定文本颜色 (#红色, “你好:”) 就好了

.子程序 指定文本颜色
.参数 颜色值, 整数型
.参数 欲设颜色文本, 文本型
.局部变量 格式, 字符格式
.局部变量 位, 整数型
.局部变量 字符数, 整数型

位 = 超级编辑框1.寻找 (, , , 欲设颜色文本)
字符数 = 取文本长 (欲设颜色文本)
.判断循环首 (位 > -1)
超级编辑框1.起始选择位置 = 位
格式 = 超级编辑框1.取选择区字符格式 ()
格式.文本颜色 = 颜色值
超级编辑框1.被选择字符数 = 字符数
超级编辑框1.置选择区字符格式 (格式)
位 = 超级编辑框1.寻找 (位 + 1, , , 欲设颜色文本)
.判断循环尾 ()

.子程序 取文本长, 整数型
.参数 文本, 文本型
.局部变量 i, 整数型
.局部变量 长度, 整数型

i = 1
.判断循环首 (i < 取文本长度 (文本))
.判断开始 (取代码 (文本, i) < 0)
i = i + 2
.默认
i = i + 1
.判断结束
长度 = 长度 + 1
.判断循环尾 ()
返回 (长度)
小樓思雨
2013-03-26 · TA获得超过1658个赞
知道小有建树答主
回答量:915
采纳率:66%
帮助的人:1109万
展开全部
.版本 2
.支持库 iext2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
置随机数种子 ()
.子程序 _按钮1_被单击
.局部变量 POS
.局部变量 格式, 字符格式

超级编辑框1.起始选择位置 = 0
.计次循环首 (超级编辑框1.取行数 (), POS)
POS = POS - 1
格式.文本颜色 = 取颜色值 (取随机数 (0, 255), 取随机数 (0, 255), 取随机数 (0, 255))
超级编辑框1.起始选择位置 = 超级编辑框1.取行首位置 (POS)
超级编辑框1.被选择字符数 = 取文本长度 (超级编辑框1.取行文本 (POS))
'输出调试文本 (超级编辑框1.取行文本 (POS))
超级编辑框1.置选择区字符格式 (格式)
.计次循环尾 ()
' 第一种情况
' 先将文本放到 超级编辑框 中,然后用以上代码一行一行改变

.子程序 _按钮2_被单击
.局部变量 POS
.局部变量 格式, 字符格式
.局部变量 文本, 文本型
.局部变量 文本组, 文本型, , "0"

文本 = “文本啊1” + #换行符 + “文本啊2” + #换行符 + “文本啊3” + #换行符 + “文本啊3”
文本组 = 分割文本 (文本, #换行符, )
.计次循环首 (取数组成员数 (文本组), POS)
格式.文本颜色 = 取颜色值 (取随机数 (0, 255), 取随机数 (0, 255), 取随机数 (0, 255))
超级编辑框1.置选择区字符格式 (格式)
超级编辑框1.被选择文本 = 文本组 [POS] + #换行符
.计次循环尾 ()
' 第二种情况
' 在添加文本的时候改变颜色
追问
帅哥,你有自己运行一下吗?第一种情况
追答

代码都经过反复测试才发上来的,第一种情况试过中英混合没问题,但你若说折行的问题,抱歉我无法解决,只能根椐它自己的行改色,超编太蛋疼了它的字符计算方式我无法捉摸~~!!!

其实这个问题在回答前就尝试过,终无法解决,以下是我的尝试代码!

.版本 2.支持库 iext2

.子程序 _按钮3_被单击

.局部变量 POS

.局部变量 Size, 整数型

.局部变量 Seek, 整数型

.局部变量 格式, 字符格式

.局部变量 内容, 文本型

 

' 根椐换行符改色

Size = 超级编辑框1.取文本长度 ()

超级编辑框1.起始选择位置 = 0

内容 = 超级编辑框1.内容

.判断循环首 (真)

    Seek = 寻找文本 (内容, #换行符, Seek + 1, 假)

    ' 输出调试文本 (Seek)

    .如果真 (Seek = -1)

        跳出循环 ()

    .如果真结束

    格式.文本颜色 = 取颜色值 (取随机数 (0, 255), 取随机数 (0, 255), 取随机数 (0, 255))

    超级编辑框1.被选择字符数 = Seek - 超级编辑框1.起始选择位置 - 1

    ' 输出调试文本 (取文本中间 (内容, 超级编辑框1.起始选择位置 + 1, 超级编辑框1.被选择字符数 - 1))

    超级编辑框1.置选择区字符格式 (格式)

    超级编辑框1.起始选择位置 = Seek '- POS

    输出调试文本 (超级编辑框1.起始选择位置)

    'POS = POS + 2

.判断循环尾 ()

 

 

 

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神奇宝贝187
2013-03-26 · TA获得超过3069个赞
知道大有可为答主
回答量:2161
采纳率:42%
帮助的人:659万
展开全部
行是指换行符?还是指依据超级编辑框的宽度折叠的那个行?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蜻蜓点水bai236
2013-03-26 · TA获得超过2386个赞
知道大有可为答主
回答量:2653
采纳率:66%
帮助的人:1212万
展开全部
去精易论坛
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式