軟件首頁 |  文章首頁
最新更新 軟件分類 設(shè)為首頁 加入收藏 聯(lián)系我們
當(dāng)前位置:首頁文章首頁 IT學(xué)院 VB

用Visual Basic實(shí)現(xiàn)undo功能

作者:東坡下載  來源:uzzf  發(fā)布時間:2010-10-14 13:45:42  點(diǎn)擊:

一、設(shè)計思路
  一般的字處理軟件,如WPS Office、Word都有撤銷功能,極大地方便了用戶,可是這項(xiàng)功能用VB該如何實(shí)現(xiàn)呢?這就要用到SendMessage函數(shù),該函數(shù)的功能就是向指定的窗口發(fā)送一條消息,它有4個參數(shù),含義如下:
  .hWnd:用來指定要接受消息的窗口的句柄;
  .wMsg:用來指定要發(fā)送的消息的編號;
  .wParam:用來指定消息的第一參數(shù);
  .1Param:用來消息的第二參數(shù)。
  二、實(shí)戰(zhàn)
  新建一個EXE窗體,上面放置一個textbox、兩個 commndbotton控件,名稱分別為text1、command1、command2,caption分別為text1、撤銷、退出,其它設(shè)置取默認(rèn)值。
  打開API閱覽器,將函數(shù)SendMessage復(fù)制到窗體代碼中。所有源代碼如下:

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

  在這個程序中,我們向文本框發(fā)送了一個EM_UNDO消息,該消息的功能是取消文本框的最后一個編輯操作。對于該消息,wParam和1Param均無用,故都設(shè)為0。
  按F5看看效果吧,是不是有一種成就感。以上代碼在windowsXP家庭版和VB6中文企業(yè)版下運(yùn)行通過。

文章評論

欄目導(dǎo)航

本類推薦文章

關(guān)于本站 | 網(wǎng)站幫助 | 廣告合作 | 下載聲明 | 友情連接 | 網(wǎng)站地圖
Copyright © 20098-2010 uzzf下載站. All Rights Reserved .