Treeview

Тема в разделе "Visual Basic", создана пользователем Sergei100, 25 янв 2011.

  1. Sergei100

    Sergei100 Гость

    Описание:
    Есть функция загрузки дерева TreeView1 - ЗагрДерева(L As Integer (база-листXL), D As String (окно TreeView в Д.О.)), в которой:
    1) Cоздаётся двумерный массив Array2(i, j) элементов дерева из базы (пока что XL), столбцов-Njd, строчек-Ni. (данные XL и массива построены также деревом)
    2) Создаем одномерный массив дерева со значениями Array3(1 To Ni), одномерный массив дерева с именем Array4(1 To Ni):
    Dim Array3() As String
    ReDim Array3(1 To Ni)
    Dim Array4() As String
    ReDim Array4(1 To Ni)
    For i = 1 To Ni
    For j = 1 To Njd
    If Array2(i, j) <> "" Then
    Array3(i) = Array1(i, j)
    If Array2(i, j) = -1 Then
    Array4(i) = "" 'Поправка для заголовка
    End If
    If Array2(i, j) > -1 Then
    Array4(i) = Array2(i, j) 'Создание одномерного массива дерева с именем
    End If
    End If
    Next j
    Next i
    3) Далее - загрузка TreeView1 из массивов (Array3(i)-значение, Array4(i)-номер).:
    For i = 1 To Ni
    If Array4(i) = "" Then
    UserForm1.TreeView1.Nodes.Add(, , "R." & (i - 1), Array3(i)).Expanded = False
    End If
    If Array4(i) <> "" Then
    UserForm1.TreeView1.Nodes.Add("R." & Array4(i), tvwChild, "R." & (i - 1), Array3(i)).Expanded = False
    End If
    Next i
    Функция работает отлично... Но для того, чтобы сделать ее УНИВЕРСАЛЬНОЙ для любого окна TreeView (их у меня много) требуется ввести ПЕРЕМЕННУЮ, скажем D, где бы D=("TreeView1", или "TreeView2", "TreeView3", ...).
    Я раньше этого не делол, пытаюсь - ошибка. Дак как же её, ... эдакую? Для кого-то этот вопрос не сложный...
     
Загрузка...

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