| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1562 人关注过本帖
标题:求教一个用vb操作文本文件小问题
只看楼主 加入收藏
btt6
Rank: 2
等 级:论坛游民
帖 子:46
专家分:10
注 册:2016-8-13
结帖率:47.83%
收藏
已结贴  问题点数:2 回复次数:5 
求教一个用vb操作文本文件小问题
如现在有个打开的文本文件“c:\a.txt”,能否用vb来实现选中这个文件的第二行,就像按住鼠标左键拖动的效果,不需要读取具体的内容,用vb应该如何实现呢
搜索更多相关主题的帖子: 文本文件 如何 
2016-10-17 14:37
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:941
专家分:5244
注 册:2015-8-10
收藏
得分:0 
如果是用系统默认的记事本或者写字板,这个应该是无法实现的。
如果VB自己的界面,使用Textbox。Richtext是可以的。
比如textbox,使用的是下面这两句来控制的
Text1.SelStart = 0
Text1.SelLength = n
2016-10-17 15:35
btt6
Rank: 2
等 级:论坛游民
帖 子:46
专家分:10
注 册:2016-8-13
收藏
得分:0 
如果是vb里的textbox控件里的话,要把第二行选中应该怎么写呢
2016-10-17 16:31
Panda2016
Rank: 2
等 级:论坛游民
威 望:2
帖 子:10
专家分:33
注 册:2016-6-26
收藏
得分:1 
回复 楼主 btt6
这个VB自身功能无法实现,要借用API函数了,如果你没学API,不能看懂代码也没关系,需要替换的地方,我都简单标注了一下。

图片附件: 游客没有浏览图片的权限,请 登录注册
2016-10-17 16:42
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:941
专家分:5244
注 册:2015-8-10
收藏
得分:1 
回复 3楼 btt6
你说的行不清楚是怎么定义的。如果是后面接了一个换行符,也就是相当于段落了。下面的代码可以实现。我的是第一行,你自己改改。
但如果是自动换行的之后的行,比如“123456……789” 中789因为宽度自动换行变成了第二行。这个第二行不好提,因为跟Textbox宽度,font等有关。
程序代码:
Private Sub CommandButton2_Click()

 TextBox1.SetFocus   '必须获取焦点,否则没有反色显示的效果
 i = InStr(TextBox1.Text, vbCrLf) '获取第一个换行符
 j = InStr(i + 1, TextBox1.Text, vbCrLf) '获取第二个换行符
 TextBox1.SelStart = i

 TextBox1.SelLength = j - i - 1
End Sub
2016-10-18 09:22
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:941
专家分:5244
注 册:2015-8-10
收藏
得分:0 
回复 4楼 Panda2016
赞。这个API不错。
不过对于新人API,太难了。我现在都是能不用就不用。所以我的API还是很菜。
2016-10-18 09:24
快速回复:求教一个用vb操作文本文件小问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019406 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved