Mshflexgrid

Тема в разделе "Visual Basic", создана пользователем Zefirka, 15 июн 2008.

Статус темы:
Закрыта.
  1. Zefirka

    Zefirka Гость

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

    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
     
  2. Tanya

    Tanya Гость

    нужно сначала опредлиться в каком виде таблица должна заноситься в буфер как текст или как картинку
    если как картинку, то нужно думать :)
    у 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.
     
  3. Zefirka

    Zefirka Гость

    Спасибо, но таблица нужна именно картинкой.
     
Статус темы:
Закрыта.

Поделиться этой страницей