VB-Homepage Tipp 065

UNDO-Funktion in Textboxen mit API

Sollte es also in Ihrem Projekt notwendig sein, Text in einer Textbox durch den Anwender bearbeiten zu lassen, so kann es sinnvoll sein, analog aller Textverarbeitungsprogramm, eine UNDO-Funktion anzubieten.
Je mehr Text, desto sinnvoller die Funktion.

Dazu wird sich der API Funktion SENDMESSAGE bedient.

Fügen Sie in Ihr neues VB4-Projekt folgende Anweisungen in den Allgemein/Deklarationsabschnitt ein. (Form = "Private Declare ...... )

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long

Const EM_UNDO = &HC7
Const EM_CANUNDO = &HC6

Desweiteren brauchen Sie natürlich eine Textbox, auf die sich die UNDO-Funktion bezieht. Hier ist dies Text1.
Und Sie brauchen etwas was die UNDO-Funktion auslößt, hier ein CommandButton, der für die Aktion CLICK folgende Anweisungen bekommt.

Editable = SendMessage(Text1.hwnd, EM_CANUNDO, 0, 0)
If Editable Then OK = SendMessage(Text1.hwnd, EM_UNDO, 0, 0)

Damit wird der Text vor der Veränderung wieder hergestellt.


Tipp-Download

Quelle : Mathias Schiffer (Old Metty - als er die Nase noch nicht so hoch trug)

Zurück zur Übersichtsseite