问一下.撤销命令怎么弄??
就是在模仿电脑文本文件的撤销命令..小女子 在此谢过了.. --------------------编程问答-------------------- 在哪里做撤销? --------------------编程问答-------------------- 太太不详细了。 --------------------编程问答-------------------- 用一个动态数组 --------------------编程问答-------------------- '【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
--------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 就是撤销文本里的内容 但是不知道上一步到底是粘贴了 还是弄了颜色 反正就是撤销伱你上一步的操作.. --------------------编程问答-------------------- 如果是在界面的操作还没有经过运算处理的,直接按Ctrl+Z就可以撤销,不需要任何代码。如果是经过程序处理的情况,那要编写代码保存处理之前的状态。 --------------------编程问答-------------------- 可以讲清楚一点吗?? --------------------编程问答--------------------
我的意思是说,如果你的程序有个textbox,运行后输入一段内容,这个时候又不想输入了直接按ctrl+Z就行了。自动恢复到输入前的样子。如果输入后又按了button之类去处理了,进入到另一个窗体或显示了运算结果,这个时候想恢复到输入内容之前的样子就要用代码来实现了,主要是运算之前先保存当前状态和内容。 --------------------编程问答-------------------- 硪是说自己创建的啊.例如一个按钮的命令 就是按了它就发生啊 --------------------编程问答--------------------
这要看发生了什么,按按钮之前的状态和参数是否可以保存。你想恢复到什么状态。 --------------------编程问答-------------------- 你自己得把操作进行分类,并保存每次操作的参数.
比如,我要对算术运算过程进行跟踪,则要保存的是,操作符,操作数,步进值:
1+3=4 '加,3,第一次操作
4-2=2 '减,2,第二次操作
2*8=16 '乘,8,第三次操作 --------------------编程问答--------------------
就是伱上一步的操作啊 ..如果上一步是变粗体了 就恢复
--------------------编程问答--------------------
不明白 --------------------编程问答--------------------
会搞出人命。 --------------------编程问答-------------------- 建议直接用office软件 --------------------编程问答-------------------- UO
补充:VB , 基础类