輕松實現“撤消/恢復”功能

發表于: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.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97