VB 5/6-Tipp 0355: Zwischenablage in Listboxen nutzen
von ActiveVB
Beschreibung
Hier wird gezeigt wie mittels den allseits bekannten Tastenkombinationen Strg + c, Strg + x und Strg + v Einträge aus ListBoxen in die Zwischenablage befördert und an anderer Stell, z.B. wiederum ListBoxen eingefügt werden können.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: keine | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Listen-Steuerelement "List1" (Index von 0 bis 2) ' Steuerelement: Beschriftungsfeld "Label1" Option Explicit Private Sub Form_Load() List1(0).AddItem "Käse" List1(0).AddItem "Milch" List1(0).AddItem "Butter" List1(0).AddItem "Eier" List1(0).AddItem "Joghurt" List1(0).AddItem "Sahne" List1(0).AddItem "Grütze?" List1(0).ListIndex = 0 List1(1).AddItem "Schrauben" List1(1).AddItem "Muttern" List1(1).AddItem "Nägel" List1(1).AddItem "Bolzen" List1(1).AddItem "Draht" List1(1).AddItem "Schlüssel" End Sub Private Sub List1_KeyDown(Index As Integer, KeyCode As Integer, _ Shift As Integer) Dim x As Integer, aa As String With List1(Index) x = .ListIndex If Shift = 2 Then If KeyCode = vbKeyC Or KeyCode = vbKeyX And x <> -1 Then aa = .List(x) If KeyCode = vbKeyX Then .RemoveItem x Clipboard.Clear Clipboard.SetText (aa) If Index = List1.UBound Then x = 0 Else x = Index + 1 End If List1(x).SetFocus ElseIf KeyCode = vbKeyV Then If Clipboard.GetFormat(vbCFText) Then aa = Clipboard.GetText(vbCFText) .AddItem aa .ListIndex = .NewIndex End If End If End If End With End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 2 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von Marc am 29.05.2003 um 08:23
Du hast was falsch gemacht (du brauchst 3 Listboxen):
-Die 1. musst du in der Index Eigenschaft 0 eingeben
-Bei der 2. 1
-Bei der 3. 2
Kommentar von Sebastian Schäfer am 24.01.2002 um 14:08
Wenn ich diese Funktion in eine Form mit Listbox einfüge, nichts weiter verändere, bekomme ich folgende Fehlermeldung:Fehler beim Kompilieren
Deklaration oder Prozedur emtspricht nicht der Beschreibung eines Ereignisses oder einer Prozedur mit dem selben Namen.
Ich kann damit nichts anfangen, muss dazu aber sagen, dass das mein erster Versuch ist mit VB. Was habe ich falsch gemacht?