Folgendes Szenario: Sie verwenden statt einer normalen TextBox ein RichTextBox-Control. Über ein Menü stellen Sie dem Anwender auch Befehle zum Kopieren und Einfügen von Text zur Verfügung. Den beiden Menübefehlen haben Sie zudem die gängigen Shortcuts Strg+C und Strg+V zugewiesen. Verwendet man jetzt aber bspw. direkt innerhalb des RTF-Controls den Shortcut Strg+V, so wird der Inhalt der Zwischenablage doppelt eingefügt Grund hierfür ist, dass das RTF-Control selbständig auf die Tastenkombination STRG+V reagiert, aber gleichzeitig auch noch der Menübefehl ausgelöst wird, da diesem der Shortcut Strg+V zugewiesen wurde. Um das autom. Kopieren/Einfügen im RTF-Control zu unterdrücken, gehen Sie wie folgt vor: Private Sub RichTextBox1_KeyDown(KeyCode As Integer, Shift As Integer) ' Tasten abfragen Select Case KeyCode Case vbKeyC, vbKeyV, vbKeyX ' Strg+C/Strg+V/Strg+X unterdrücken If Shift = 2 Then KeyCode = 0 Case vbKeyInsert ' Strg+Insert -> Kopieren unterdrücken If Shift = 2 Then KeyCode = 0 ' hier ggf. direkt den eigenen Menübefehl auslösen mnuCopy_Click ElseIf Shift = 1 Then ' Umsch+Insert -> Einfügen unterdrücken KeyCode = 0 ' hier ggf. direkt den eigenen Menübefehl auslösen mnuPaste_Click End If Case vbKeyDelete If Shift = 1 Then ' Umsch+Delete -> Ausschneiden unterdrücken KeyCode = 0 ' hier ggf. direkt den eigenen Menübefehl auslösen mnuCut_Click End If End Select End Sub ' Kopieren (Strg+C) Private Sub mnuCopy_Click() With RichTextBox1 If Len(.SelText) > 0 Then Clipboard.SetText .SelText End With End Sub ' Einfügen (Strg+V) Private Sub mnuPaste_Click() If Clipboard.GetFormat(vbCFText) Then RichTextBox1.SelRTF = Clipboard.GetText() End If End Sub ' Ausschneiden (Strg+X) Private Sub mnuCut_Click() With RichTextBox1 If Len(.SelText) > 0 Then Clipboard.SetText .SelText .SelText = "" End If End With End Sub Dieser Tipp wurde bereits 14.494 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 sevAniGif (VB/VBA) Anzeigen von animierten GIF-Dateien Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |