当前位置:编程学习 > VB >>

求助 如何实现像鼠标右键一样的复制功能

用一个命令按钮
作用是单击后用将指定的文本复制到粘贴板中
就像用鼠标右键点复制的效果一样 --------------------编程问答-------------------- MSDN中查clipboard --------------------编程问答-------------------- 同上

路过. --------------------编程问答-------------------- Private Sub Command_Click()
Clipboard.Clear
clipboard.SetText text1.SelText 
End Sub
--------------------编程问答-------------------- 楼上 --------------------编程问答-------------------- '********************************* 方法 1

【CBM666 的复制剪切粘贴与撤消】

'添加 Text1   Command1(0)   在属性中index要设为0

Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM_CUT = &H300
Const WM_COPY = &H301
Const WM_PAST = &H302
Const WM_CLEAR = &H303
Const WM_UNDO = &H304
Dim fb As Long, i%, jj%

Private Sub Form_Load()
    Command1(0).Caption = "复制"
    Command1(0).Left = 0: Command1(0).Top = Me.ScaleHeight - Command1(0).Height
    jj = Command1(i).Width
    For i = 1 To 4
       Load Command1(i)
       Command1(i).Visible = True
       Command1(i).Left = Command1(i - 1).Left + Command1(i - 1).Width
       jj = jj + Command1(i).Width
    Next i
    Command1(0).Caption = "复 制"
    Command1(1).Caption = "粘 贴"
    Command1(2).Caption = "剪 切"
    Command1(3).Caption = "删 除"
    Command1(4).Caption = "撤 消"
    Me.Width = jj
    Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2
End Sub

Private Sub Command1_Click(Index As Integer)
    Select Case Index
       Case 0 '复制
          fb = SendMessage(Text1.hwnd, WM_COPY, 0, 0)
       Case 1 '粘贴
          fb = SendMessage(Text1.hwnd, WM_PAST, 0, 0)
       Case 2 '剪切
          fb = SendMessage(Text1.hwnd, WM_CUT, 0, 0)
       Case 3 '删除
          fb = PostMessage(Text1.hwnd, WM_CLEAR, 0, 0)
       Case 4 '撤消
          fb = SendMessage(Text1.hwnd, WM_UNDO, 0, 0)
    End Select
End Sub
 


'********************************* 方法 2
' 添加一个Text1, 一个 Richtextbox1, Command1(0) Command1(1) Command1(2) Command1(3)  

Private Sub Form_Load()  
 Command1(0).Caption = "复制"  
 Command1(1).Caption = "剪切"  
 Command1(2).Caption = "粘贴"  
 Command1(3).Caption = "字体"  
 Text1.Text = ""  
 fname = "c:\666.txt"  
 RichTextBox1.LoadFile fname, 1  
End Sub  

Private Sub Command1_Click(Index As Integer)  
 Select Case Index  
 Case 0 '复制  
 Clipboard.SetText RichTextBox1.SelText  
 Case 1 '剪切  
 Clipboard.Clear  
 Clipboard.SetText RichTextBox1.SelText  
 RichTextBox1.SelText = ""  
 Case 2 '粘贴  
 Text1.SelText = Clipboard.GetText  
 Case 3 '改变字体  
 RichTextBox1.SelFontName = "楷体_GB2312"  
 RichTextBox1.SelFontSize = 24  
 RichTextBox1.SelColor = QBColor(Int(Rnd * 15))  
 End Select  
End Sub  
 

--------------------编程问答-------------------- 我也想知道,正在找這方面的資料~~~~~ --------------------编程问答-------------------- 路过.............
--------------------编程问答-------------------- 不明LZ在说什么 --------------------编程问答-------------------- clipboard的SetText 方法
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,