用VisualBasic实现undo功能

文章作者 100test 发表时间 2007:09:29 12:56:02
来源 100Test.Com百考试题网


  一、设计思路

  一般的字处理软件,如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中文企业版下运行通过。


相关文章


VB中用第三方控件打造OfficeXP菜单
VB中利用第三方控件实现软件在线升级
VB中利用ccrpHotKey控件设置热键
VisualBasic编程映射_中断网络磁盘
用VisualBasic实现undo功能
用VB设计M 信息群发软件
导出EXCEL_FOXPRO_PRODOX格式表
有关VB记录类型变量
Data控件使用有密码的Acce 数据库
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛