轻松实现“撤消/恢复”功能
发表于:2007-07-14来源:作者:点击数:
标签:
很多应用软件提供的“撤消/恢复”按钮能取消上一步操作或恢复下一步操作,大大地方便了用户,可在自己设计的应用程序中如何实现“撤消/恢复”功能呢? 其实,“撤消”(即取消上一步操作)功能,在 VB 6.0中只需调用 Windows 的应用函数接口(API)中的SendMessag
很多应用软件提供的“撤消/恢复”按钮能取消上一步操作或恢复下一步操作,大大地方便了用户,可在自己设计的应用程序中如何实现“撤消/恢复”功能呢?
其实,“撤消”(即取消上一步操作)功能,在
VB 6.0中只需调用
Windows的应用函数接口(API)中的SendMessage( )函数就可轻松实现,而“恢复”功能只需再次“UNDO”即可!
SendMessage( )函数声明如下:
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
其中函数各参数说明:
hwnd是接收消息的窗口句柄;
wMsg是传递的消息;
wParam、lParam是消息参数。
现将制作过程列举如下:
设计界面:创建一个新工程、在默认窗体Form1中加入控件Command1;设置其Caption属性为“撤消”、加入文本控件Text1,Text属性设为空。
事件声明及事件代码:
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
Dim undo As Boolean
'定义一个逻辑变量
Private Sub Command1_Click()
ls = SendMessage(Text1.hwnd, &&H
304, 0, 0)
'调用SendMessage( )函数
Text1.SetFocus
If undo Then
'撤消/恢复状态的判定
Command1.Caption = "撤消"
Else
Command1.Caption = "恢复"
End If
undo = Not (undo)
End Sub
Private Sub Form_Load()
undo = False
End Sub
按[F5]运行,在文本框中进行某项操作!确实很简单吧!
原文转自:http://www.ltesting.net