求助 如何实现像鼠标右键一样的复制功能
用一个命令按钮作用是单击后用将指定的文本复制到粘贴板中
就像用鼠标右键点复制的效果一样 --------------------编程问答-------------------- 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 , 基础类