Копирование из ListBox в буфер обмена - VB
Формулировка задачи:
Доброго всем времени суток!Пожалуйста подскажите или ткните носом.Не могу разобраться с копированием содержимого List в буфер обмена.У меня имеется List и меню,в котором есть пункты Удаление и Отмена.Удаляться могут как одна строка,так и группа произвольных строк при отмене восстанавливаются прежние данные.Логично было бы все сделать в буфере обмена,но я так понимаю буфер это стек и я не могу вставить все строки вставляется только одна.В свойствах класса Clipboard есть только Set и Get методы и получить индексы я не могу.Кто знает пожалуйста подскажите.
PS Задачу эту я решил,но с использованием временного Listа,но хотелось бы через буфер обмена.Пока осваиваю азы.
Спасибо.
Решение задачи: «Копирование из ListBox в буфер обмена»
textual
Листинг программы
- Option Explicit
- Private Sub Command1_Click()
- List1.AddItem Int(Rnd * 10000) 'что то добавляем в листбокс
- MyClipBoard List1 'записываеи в буфер
- End Sub
- Private Sub Command2_Click() 'отменить
- MyClipBoard List1, 1
- End Sub
- Private Sub Command3_Click() 'повторить
- MyClipBoard List1, 2
- End Sub
- Private Sub Command4_Click()
- If List1.ListCount <= 0 Then Exit Sub
- List1.RemoveItem (Int(Rnd * List1.ListCount)) 'удаляем случайную строку из листбокс
- MyClipBoard List1 'записываеи в буфер
- End Sub
- Private Sub MyClipBoard(L As Object, Optional ByVal AddUndoRedo As Integer)
- 'На 10 элементов
- Static A(1 To 10) As Variant, E() As String, n As Integer
- Dim m As Integer, i As Integer
- If L.ListCount < 1 Then Exit Sub
- Select Case AddUndoRedo
- Case 0
- n = n + 1: ReDim Preserve E(L.ListCount - 1)
- For i = 0 To L.ListCount - 1: E(i) = L.List(i): Next i
- If n > 10 Then
- n = 10
- For i = 1 To 9: A(i) = A(i + 1): Next i
- End If
- A(n) = E
- Case 1
- If n > 1 Then
- n = n - 1: E = A(n): L.Clear
- For i = 0 To UBound(E): L.AddItem E(i): Next i
- End If
- Case 2
- If n < 10 Then
- If (Not IsEmpty(A(n + 1))) Then
- n = n + 1: E = A(n): L.Clear
- For i = 0 To UBound(E): L.AddItem E(i): Next i
- End If: End If
- End Select
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д