Есть Treeview.
Напротив каждой ветки надо создавать (в коде) PictureBox, если ветка отображена.
Вот код создания ветвей и PIctureBox.
Ругается, когда идет повторное создание объекта в форме. Говорит - такой уже есть. Значит надо сначала все имеющиеся удалять, потом создавать заново...
Но опять ругается. Посмотрите, пожалуйста, что не так... Очень нужно...
Option Explicit
Public y As Node
Public n As Long
Public m As Variant
Public PBX As PictureBox
Sub SostavTree()
Menu.TreeView1.Nodes.Add , , "Финансовая отчетность", "Финансовая отчетность"
Menu.TreeView1.Nodes.Add "Финансовая отчетность", tvwChild, "Бухгалтерский баланс", "Бухгалтерский баланс"
Menu.TreeView1.Nodes.Add "Финансовая отчетность", tvwChild, "Отчет о прибылях и убытках", "Отчет о прибылях и убытках"
Menu.TreeView1.Nodes.Add "Финансовая отчетность", tvwChild, "Отчет об изменениях капитала", "Отчет об изменениях капитала"
Menu.TreeView1.Nodes.Add "Финансовая отчетность", tvwChild, "Отчет о движении денежных средств", "Отчет о движении денежных средств"
Menu.TreeView1.Nodes.Add "Финансовая отчетность", tvwChild, "Приложение к бухгалтерскому балансу", "Приложение к бухгалтерскому балансу"
Menu.TreeView1.Nodes.Add , , "В разрабоке", "В разрабоке"
Menu.TreeView1.Nodes.Add "В разрабоке", tvwChild, "Первый", "Первый"
Menu.TreeView1.Nodes.Add "В разрабоке", tvwChild, "Второй", "Второй"
'Call Znachki
End Sub
Sub Znachki()
m = 0
n = 1
For Each PBX In Menu.Controls
Menu.Controls.Remove "VB.PictureBox", "PBX" & n
Next PBX
Set PBX = Menu.Controls.Add("VB.PictureBox", "PBX" & n)
For Each y In Menu.TreeView1.Nodes
m = m + 240
n = n + 1
If y.Expanded = True Then
With PBX(n)
.Align = 0
.Appearance = 0
.AutoRedraw = False
.AutoSize = False
.BackColor = 16777215
.BorderStyle = 0
.Enabled = True
.TabIndex = 1
.Height = 255
.Left = 720
.Top = m
.Width = 255
.Picture = LoadPicture("C:\Programms\MVB\Проекты\Icons for AP\Info.gif")
.Visible = True
.ZOrder 0
End With
Else: End If
Next y
End Sub