Rated
Read 15,584 times
Related Categories
Undo and Redo - Undo and Redo
Undo and Redo
Use AddUndo to start adding pauses in-between when the user is typing. One way to do this is to use this code.
Private Sub Text1_Change()
Timer1.Interval = 5000
End Sub
Private Sub Timer1_Timer()
Undo1.AddUndo Text1.Text
Timer1.Interval = 0
End Sub
When you want to undo use Undo and Redo to redo.
Dim OldContent As String
Dim Last As UndoDirection
Public Enum UndoDirection
DirUndo = 1
DirRedo = 2
End Enum
Public Function Undo()
Dim Front As Double
Dim Back As Double
Dim StrFront As String
Dim StrBack As String
Dim Changed As String
If Last = DirRedo Or Last = 0 Then
Last = DirUndo
Undo
End If
Last = DirUndo
If lstUndo.ListCount = 0 Then
Undo = OldContent
Exit Function
End If
lstUndo.Selected(lstUndo.ListCount - 1) = True
Undo = lstUndo.Text
OldContent = Undo
lstRedo.AddItem lstUndo.Text
lstUndo.RemoveItem lstUndo.ListCount - 1
End Function
Public Function Redo()
If Last = DirUndo Or Last = 0 Then
Last = DirRedo
Redo
End If
Last = DirRedo
If lstRedo.ListCount = 0 Then
Redo = OldContent
Exit Function
End If
lstRedo.Selected(lstRedo.ListCount - 1) = True
Redo = lstRedo.Text
OldContent = Redo
lstUndo.AddItem lstRedo.Text
lstRedo.RemoveItem lstRedo.ListCount - 1
End Function
Public Sub AddUndo(NewContent As String)
Dim Content As String
Dim XStr As String
Content = NewContent
If OldContent = Content Then Exit Sub
lstRedo.Clear
lstUndo.AddItem Content
OldContent = NewContent
End Sub
I am working on some editing software for a game I am planning to create with my friend. He is not a hardcore programmer so I plane on doing most of that work. Lucky I am just about done with my graphics engine. I would like to get some other people involved to take some of the workload off. Please E-mail me if you want to help with any part, or for any other reason.
by: Nick Avery
liserdarts@yahoo.com
Comments
|