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

2楼的好复杂
看不懂
2008-10-3 13:25
Joforn
Rank: 12Rank: 12Rank: 12
等级:贵宾
帖子:1200
积分:12676
威望:20
注册:2007-1-2

才两行代码……还复杂?
2008-10-3 13:32
我是菜鸟哦
Rank: 12Rank: 12Rank: 12
等级:版主
帖子:650
积分:7270
威望:11
注册:2007-5-4

。。。。。。。。。这个有什么看头啊,就一个API,说看不懂
真理是不需要你看懂的

偶是菜鸟鸟偶惧WHO?!!!!
2008-10-3 13:38
multiple1902
Rank: 12Rank: 12Rank: 12
等级:版主
帖子:4472
积分:45604
威望:40
注册:2007-2-9

VB的剪贴板和Windows的剪贴板有什么区别?

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

引用:
multiple1902 在 2008-10-3 13:43 的发言:

VB的剪贴板和Windows的剪贴板有什么区别?
复制内容到剪贴板
代码:
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 Command2_Click()
  Text1.Text = Format(Rnd * 100, "#0.0000000")
  SendMessage Text1.hWnd, EM_SETSEL, 0&, -1&    '选择要复制的文本内容,第三个参数是启始位置,第四个参数是结束位置;
  SendMessage Text1.hWnd, WM_COPY, 0&, 0&       '复制Text1中被选中的文本内容。
  MsgBox Clipboard.GetText
End Sub

Private Sub Command1_Click()
  Text1.Text = Format(Rnd * 100, "#0.0000000")
  Text1.SelStart = 0
  Text1.SelLength = Len(Text1.Text)
  Clipboard.SetText Text1.SelText
  MsgBox Clipboard.GetText
End Sub
你分别点击这个两Command后,再在记事本中点粘贴就会发现这二者的区别了。
用SendMessage复制的粘贴后的内容就是文本框中的内容,Msgbox中的内容也被修改,用Clipboard.SetText的则Msgbox中的信息被改为Text1中的内容,但粘贴到记事本中的内容却不是。

[ 本帖最后由 Joforn 于 2008-10-3 14:13 编辑 ]
2008-10-3 14:12
三断笛
Rank: 12Rank: 12Rank: 12
等级:版主
帖子:907
积分:10007
威望:9
注册:2007-5-24

说实话,SendKeys最简单最保险......

滚滚红尘中的白痴..........
2008-10-4 01:47
Joforn
Rank: 12Rank: 12Rank: 12
等级:贵宾
帖子:1200
积分:12676
威望:20
注册:2007-1-2

引用:
三断笛 在 2008-10-4 01:47 的发言:

说实话,SendKeys最简单最保险......
SendKeys是最简单的用法,但也是最不保险的,因为你永远都无法保证这个SendKeys发送到哪去了(如果程序要求在最小化或是后台运行,那你用SendKeys发送到哪去?)。
2008-10-4 10:23
multiple1902
Rank: 12Rank: 12Rank: 12
等级:版主
帖子:4472
积分:45604
威望:40
注册:2007-2-9

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



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 E ...
怎么感觉是你Commmand1的事件里忘了Clipboard.Clear……

“高考”这个词在耳边不断萦绕,心中的激动不言而喻。写下一句话,一起努力。Let's struggle together.
2008-10-4 13:05
WenJem
Rank: 1
等级:新手上路
帖子:15
积分:58
注册:2008-10-5

下面的代码,就可以把  Textxs.Text 放入剪贴板。

    Clipboard.Clear ' 清除文本剪贴板。
    Clipboard.SetText Textxs.Text    ' 将正文放置在剪贴板上。
2008-10-5 13:21
共有 597 人关注过本帖
发新话题
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

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