Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal MSG As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const EM_UNDO = &HC7
Private Const EM_CANUNDO = &HC6
Private Const EM_EMPTYUNDOBUFFER = &HCD
Private Sub Command1_Click()
Call SendMessage(Me.Text1.hWnd, EM_UNDO, 0, 0)
Call CanUndo
End Sub
Private Sub Command2_Click(Index As Integer)
Call SendMessage(Me.Text1.hWnd, EM_EMPTYUNDOBUFFER, 0, 0)
Call CanUndo
End Sub
Private Sub Text1_Change()
Call CanUndo
End Sub
Private Function CanUndo() As Boolean
If SendMessage(Me.Text1.hWnd, EM_CANUNDO, 0, 0) Then
Me.Command1.Enabled = True
Me.Label2.Caption = "使えます"
Else
Me.Command1.Enabled = False
Me.Label2.Caption = "使えません"
End If
End Function |