undo功能的实现
来源:百度文库 编辑:神马文学网 时间:2024/05/11 19:44:58
一般的字处理软件,如WPS Office、Word都有撤销功能,极大地方便了用户,可是这项功能用VB该如何实现呢?这就要用到SendMessage函数,该函数的功能就是向指定的窗口发送一条消息,它有4个参数,含义如下:
.hWnd:用来指定要接受消息的窗口的句柄;
.wMsg:用来指定要发送的消息的编号;
.wParam:用来指定消息的第一参数;
.1Param:用来消息的第二参数。
下面看一个例题
新建一个EXE窗体,上面放置一个textbox、两个 commndbotton控件,名称分别为text1、command1、command2,caption分别为text1、撤销、退出,其它设置取默认值。
打开API阅览器,将函数SendMessage复制到窗体代码中。所有源代码如下:
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 Const EM_CANUNDO = &HC6
Private Const EM_UNDO = &HC7
Private Sub Command1_Click()
Dim i As Integer
i = SendMessage(Text1.hwnd, EM_UNDO, 0, 0)
End Sub
Private Sub Command2_Click()
End
End Sub
在这个程序中,我们向文本框发送了一个EM_UNDO消息,该消息的功能是取消文本框的最后一个编辑操作。对于该消息,wParam和1Param均无用,故都设为0。
按F5看看效果吧,是不是有一种成就感。以上代码在WindowsXP家庭版和VB6中文企业版下运行通过。
.hWnd:用来指定要接受消息的窗口的句柄;
.wMsg:用来指定要发送的消息的编号;
.wParam:用来指定消息的第一参数;
.1Param:用来消息的第二参数。
下面看一个例题
新建一个EXE窗体,上面放置一个textbox、两个 commndbotton控件,名称分别为text1、command1、command2,caption分别为text1、撤销、退出,其它设置取默认值。
打开API阅览器,将函数SendMessage复制到窗体代码中。所有源代码如下:
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 Const EM_CANUNDO = &HC6
Private Const EM_UNDO = &HC7
Private Sub Command1_Click()
Dim i As Integer
i = SendMessage(Text1.hwnd, EM_UNDO, 0, 0)
End Sub
Private Sub Command2_Click()
End
End Sub
在这个程序中,我们向文本框发送了一个EM_UNDO消息,该消息的功能是取消文本框的最后一个编辑操作。对于该消息,wParam和1Param均无用,故都设为0。
按F5看看效果吧,是不是有一种成就感。以上代码在WindowsXP家庭版和VB6中文企业版下运行通过。
undo功能的实现
如何在RichTextBox中实现Undo功能aaa
实用的TextBox控件的Undo属性
用ASP实现论坛的UBB功能
不同芯片组RAID功能的实现方法
checkbox实现“选择全部”的toggle功能
实现关键字搜索功能
实现关键字搜索功能
用DirectShow实现QQ的音视频聊天功能
利用数字组合键 实现K750c的快捷功能
浏览器中运行的ActiveX 自动升级功能实现
利用WINXP组策略实现HIPS的功能
通过修改注册表方法来实现Diamond的隐藏功能
用DirectShow 实现QQ的音视频聊天功能
用Dreamweaver实现简单的网页搜索功能
用DirectShow实现QQ的音视频聊天功能2
MFC实现全屏功能的代码-it群
用合并计算功能实现表格间的数据关联
Linux 系统下双机HA的功能实现
VB中实现“所见即所得”功能
Optimize Oracle UNDO Parameters
动态加载Silverlight应用的dll文件(可实现插件功能) - 代震军BLOG - ...
QQ无能为力!用WebQQ却能实现的5个功能
内存对齐功能实现的两种方法(不知是不是)