Mshflexgrid

  • Автор темы Zefirka
  • Дата начала
Статус
Закрыто для дальнейших ответов.
Z

Zefirka

Гость
#1
есть код который отределяет активный элемент и заносит его в буфер
вот пример кода, написала на примере текста, но вот что делать с картинками и таблицами не знаю
помогите кто может

Private Sub mnuCopy_Click()
Clipboard.Clear
If TypeOf Screen.ActiveControl Is TextBox Then
Clipboard.SetText Screen.ActiveControl.SelText
ElseIf TypeOf Screen.ActiveControl Is PictureBox Then
Clipboard.???? Screen.ActiveControl.Picture
ElseIf TypeOf Screen.ActiveControl Is MSFlexGrid Then
Clipboard.???? Screen.ActiveControl.????
Else
End If
End Sub
 
T

Tanya

Гость
#2
нужно сначала опредлиться в каком виде таблица должна заноситься в буфер как текст или как картинку
если как картинку, то нужно думать :)
у Clipboard есть метод SetData для помещения в буфер картинок, но как это реально делается я не знаю

если таблицу копировать в буфер как текст, то есть вариант, копировать как строки, данные по столбцам в которых разделены табуляцией:

With MSFlexGrid1
'Выделяем все содержимое таблицы
.Redraw = False
.Row = 0: .Col = 0: .RowSel= .Rows - 1: .ColSel = .Cols-1

Clipboard.SetText = .Clip
.Redraw = True
End With

Это для всей таблицы, а для занесения в буфер выделенного диапазона или 1 ячейки достаточно
Clipboard.SetText = MSFlexGrid1.Clip

Следует учесть, что форматирование текста в таблице таким способом учитываться не будет
Его можно учесть, если, например, формировать строку в формате RTF.
 
Z

Zefirka

Гость
#3
Спасибо, но таблица нужна именно картинкой.
 
Статус
Закрыто для дальнейших ответов.