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) |