首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
首页 | JAVA | C# | VB | VB.NET | C/C++ | delphi | 工程管理 | 其他语言 | 论坛
各大城市软件开发培训、软件人才免费咨询热线:400-700-5807
 您现在的位置: 中国IT实验室 >> 桌面开发 >> VB >> 正文
用Visual Basic实现undo功能
来源:ChinaItLab 作者:佚名 时间:2007-4-4

  一、设计思路
  
  一般的字处理软件,如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中文企业版下运行通过。
【责编:Lili】
中国IT教育热线咨询
相关文章
Visual Basic构建线程安全的Singleton…
C#和Visual Basic中的闭包与对象生存时期…
教你如何用Visual Basic编写病毒…
用Visual Basic轻松实现看图软件…
用Visual Basic为软件增加注册功能…
用Visual Basic创建多线程应用程序…
Visual Basic中调用MSN API函数…
Visual Basic编程常见问题及解答…
Visual Basic编程常见问题及解答(2)…
Visual Basic编程映射/中断网络磁盘…
推荐文章

 精彩友情推荐
·Asp源码 PHP源码
·CGI源码 JSP源码
·建站书籍教程
·服务器软件 .net源码
·建站工具软件
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
最新更新 推荐文章
·框架:J2EE WEB应用架构分析…03-13
·几种VC++数据库开发技术的相对比…03-13
·利用C#实现标注式消息提示窗口03-13
·用C#创建COM对象03-13
·Visual C#多线程参数传递浅析…03-13
·Visual C#多线程参数传递浅析…03-13
·基于HOOK和MMF的Win密码渗透技术11-15
·Visual C++设计超强仿QQ自动伸缩…11-15
·Java SE 6.0实现高质量桌面集成开…11-15
·史玉柱东山再起幕后高人11-15
·用C#创建COM对象09-06
·IT管理十大失误及其对策08-30
·VC中利用MFC设计绘图程序初步08-23
·JAVA中对象创建和初始化过程08-23
·C语言中的位域的使用08-09
·浅谈Java桌面应用程序开发08-09
·C#的前途如何?08-02
·几种VC++数据库开发技术的相对比较07-12
·用Visual C#实现网络封包监视…07-12
·VB.NET中的TextBox控件详解07-12
·VB.NET实现PC与掌上电脑PPC的双向通信07-05