VB-Homepage Tipp 075

Textbearbeitung - (Kopieren,Ausschneiden,Einfügen,Rückgängig) - 16Bit

Ein wirklich guter Tipp, so finde ich, weil er zeigt, wie man die systemeigenen Funktionen innerhalb VB nutzen kann und sich nicht selbst mit der Programmierung dieser herum ärgern muß.
Sicher haben Sie in irgendeiner Textverarbeitung schon mit den Tastenkombinationen Strg+C für Kopieren oder Strg+V für Einfügen gearbeitet. Das sind keine Erfindungen dieser Programme, sondern Funktionen die das Betriebssystem bereitstellt.
Und genau das soll hier ebenfalls genutzt werden.
Da sich die Vorgehensweise unter 16Bit  und 32Bit etwas unterscheidet, ist dieser Tipp für beide Versionen getrennt aufgeführt.

textvb3.mak
TEXTVB3.FRM
ProjWinSize=152,402,248,215
ProjWinShow=2
Title="TEXTVB3"
ExeName="TEXTVB3.EXE"

textvb3.frm
VERSION 2.00
Begin Form Form1
Caption = "Textbearbeitung"
ClientHeight = 4590
ClientLeft = 1095
ClientTop = 1485
ClientWidth = 7365
Height = 4995
Left = 1035
LinkTopic = "Form1"
ScaleHeight = 4590
ScaleWidth = 7365
Top = 1140
Width = 7485
Begin TextBox Text1
Height = 1695
Left = 3000
TabIndex = 4
Text = "Text1"
Top = 480
Width = 4095
End
Begin CommandButton Command4
Caption = "Rückgängig"
Height = 255
Left = 240
TabIndex = 3
Top = 1920
Width = 2415
End
Begin CommandButton Command3
Caption = "Einfügen"
Height = 255
Left = 240
TabIndex = 2
Top = 1440
Width = 2415
End
Begin CommandButton Command2
Caption = "Ausschneiden"
Height = 255
Left = 240
TabIndex = 1
Top = 840
Width = 2415
End
Begin CommandButton Command1
Caption = "Kopieren"
Height = 255
Left = 240
TabIndex = 0
Top = 480
Width = 2415
End
Begin Label Label3
Caption = "Da der Datentyp OBJECT unter VB3 nicht vorhanden ist, muß im Gegensatz zu VB4 das setzen des Focuses außerhalb der eigentlichen Prozedur erfolgen."
Height = 495
Left = 240
TabIndex = 7
Top = 3600
Width = 6855
End
Begin Label Label2
Alignment = 1 'Right Justify
Caption = "A.Gamper - http://www.vb-homepage.de"
FontBold = 0 'False
FontItalic = 0 'False
FontName = "MS Sans Serif"
FontSize = 8.25
FontStrikethru = 0 'False
FontUnderline = 0 'False
Height = 255
Left = 3480
TabIndex = 6
Top = 0
Width = 3855
End
Begin Label Label1
Caption = "Eine recht interessante Version, sich der angegebenen Funktionen zu bedienen. Hier wird nicht etwa über VB die Funktion angesprochen, nein sie bedient sich einfach der schon in Windows enthaltenen Systemfunktionen und ruft diese über den Befehl Send .. auf. Die Idee stammt von L. Serflaten's (serflaten@usinternet.com)"
Height = 1095
Left = 240
TabIndex = 5
Top = 2400
Width = 6855
End
End
Sub Command1_Click ()
text1.SetFocus
Call DoEditThing("Copy")
End Sub
Sub Command2_Click ()
text1.SetFocus
Call DoEditThing("Cut")
End Sub
Sub Command3_Click ()
text1.SetFocus
Call DoEditThing("Paste")
End Sub
Sub Command4_Click ()
text1.SetFocus
Call DoEditThing("Undo")
End Sub
Sub DoEditThing (whatThing As String)
Dim Send$
Select Case whatThing
Case "Copy"
Send = "^C"
Case "Cut"
Send = "^X"
Case "Paste"
Send = "^V"
Case "Undo"
Send = "^Z"
End Select
If Len(Send) Then
SendKeys Send
End If
End Sub

Tipp-Download

Quelle : L. Serflaten's (serflaten@usinternet.com)

Zurück zur Übersichtsseite