| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 601 人关注过本帖
标题:Vb中的复制文本框里内容的问题
收藏  订阅  推荐  打印
maoyingtao
Rank: 1
等级:新手上路
帖子:11
积分:222
注册:2008-7-12
Vb中的复制文本框里内容的问题

Private Sub cmdcopy_Click()
Textxs.SelStart = 0
Textxs.SelLength = Len(Textxs)
Clipboard.SetText Textxs.SelText
End Sub
我用这个代码可以全选但死也复制不起来文本框里的内容啊
为什么啊??
2008-10-3 11:49
Joforn
Rank: 12Rank: 12Rank: 12
等级:贵宾
帖子:1200
积分:12676
威望:20
注册:2007-1-2

Private Declare Function SendMessage Lib "user32" Alias "SendMessageW" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM_COPY As Long = &H301
Const EM_SETSEL = &HB1&

Private Sub Form_Click()
  SendMessage Text1.hWnd, EM_SETSEL, 0&, -1&    '选择要复制的文本内容,第三个参数是启始位置,第四个参数是结束位置;
  SendMessage Text1.hWnd, WM_COPY, 0&, 0&       '复制Text1中被选中的文本内容。
End Sub

[ 本帖最后由 Joforn 于 2008-10-3 13:01 编辑 ]
2008-10-3 12:22
我是菜鸟哦
Rank: 12Rank: 12Rank: 12
等级:版主
帖子:650
积分:7270
威望:11
注册:2007-5-4

。。。。。。。。。

[ 本帖最后由 我是菜鸟哦 于 2008-10-3 12:52 编辑 ]

偶是菜鸟鸟偶惧WHO?!!!!
2008-10-3 12:25
Joforn
Rank: 12Rank: 12Rank: 12
等级:贵宾
帖子:1200
积分:12676
威望:20
注册:2007-1-2

引用:
我是菜鸟哦 在 2008-10-3 12:25 的发言:

因为你点击COMMAND的时候TEXT已经失去焦点
可以这样
Private Sub Command1_Click()
Text1.SetFocus
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
Clipboard.SetText Text1.SelText
End Sub
何苦呢,直接就用Clipboard.SetText Text1.Text不就行了?
2008-10-3 12:37
multiple1902
Rank: 12Rank: 12Rank: 12
等级:版主
帖子:4472
积分:45604
威望:40
注册:2007-2-9

Clipboard.Clear
Clipboard.SetText Text1.Text

“高考”这个词在耳边不断萦绕,心中的激动不言而喻。写下一句话,一起努力。Let's struggle together.
2008-10-3 12:39
Joforn
Rank: 12Rank: 12Rank: 12
等级:贵宾
帖子:1200
积分:12676
威望:20
注册:2007-1-2

要注意的是,Clipboard是VB的剪贴板对象并不是Windows的,而我在2#发的是针对Windows剪贴板操作的。
2008-10-3 12:39
我是菜鸟哦
Rank: 12Rank: 12Rank: 12
等级:版主
帖子:650
积分:7270
威望:11
注册:2007-5-4

引用:
Joforn 在 2008-10-3 12:37 的发言:



何苦呢,直接就用Clipboard.SetText Text1.Text不就行了?
那请问如果我想复制具体的部分呢?而且楼主的要求是要点击COMMAND后才产生这样的效果,我只是按楼主的要求来

[ 本帖最后由 我是菜鸟哦 于 2008-10-3 12:41 编辑 ]

偶是菜鸟鸟偶惧WHO?!!!!
2008-10-3 12:39
Joforn
Rank: 12Rank: 12Rank: 12
等级:贵宾
帖子:1200
积分:12676
威望:20
注册:2007-1-2

引用:
我是菜鸟哦 在 2008-10-3 12:39 的发言:


那请问如果我想复制具体的部分呢?而且楼主的要求是要点击COMMAND后才产生这样的效果,我只是按楼主的要求来
其实和焦点无关,你自己试试就知道了。
至于楼主说的复制不到内容,应该是他想复制后,在其它的外部程序中粘贴,但是因为Clipboard只是修改了VB的剪贴板内容,并没有影响Windows剪贴板的内容,所以楼才会以为复制代码没有效果。
2008-10-3 12:49
我是菜鸟哦
Rank: 12Rank: 12Rank: 12
等级:版主
帖子:650
积分:7270
威望:11
注册:2007-5-4

试过了,多谢指教,我以前遇到这种问题添加焦点就OK了,看来是我理解错了

偶是菜鸟鸟偶惧WHO?!!!!
2008-10-3 12:51
maoyingtao
Rank: 1
等级:新手上路
帖子:11
积分:222
注册:2008-7-12

那怎么复制到WINDOWS的剪切板中?
2008-10-3 13:24
共有 600 人关注过本帖
发新话题
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.052695 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved