Для работы с данным диалогом используется объект ITreeListSelectDialog, создаваемый с помощью системной функции CreateTreeListSelectDialog.
Постановка задачи
Необходимо создать диалог с выбором в список комплектующих, расположенных в узлах дерева.
Программный код
VehicleDlg = CreateTreeListSelectDialog("Комплектующие")
VehicleDlg.AvailableItemsTitle = 'Металлолом:'
VehicleDlg.SelectedItemsTitle = 'Желаемые комплектующие:'
VehicleDlg.AvailableItemsColumnTitle = 'Запчасти'
VehicleDlg.ImagesEnabled = True
// Задание элементов дерева
VehicleDlg.AddAvailableItem(
"Грузовик"; // ИД элемента
"";// ИД родительского элемента не указан, так как текущий элемент является родительским
"Грузовик";// Заголовок элемента
"AddBreakpointIcon";// Имя значка доступного узла
"SignatureIsValidIcon";// Имя значка выбранного узла
SELECT_TYPE_SELECTABLE_ONLY_CHILD)// Тип выбора узла
VehicleDlg.AddAvailableItem("Motor V8 3.0 450"; "Грузовик";
"Двигатель V8 3.0 450 л.с."; "AddBreakpointIcon"; "SignatureIsValidIcon";
SELECT_TYPE_SELECTABLE)
VehicleDlg.AddAvailableItem("Left Front Door"; "Грузовик"; "Левая передняя дверь";
"AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)
VehicleDlg.AddAvailableItem("Right Front Door"; "Грузовик"; "Правая передняя дверь";
"AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)
VehicleDlg.AddAvailableItem("Трактор";"";"Трактор"; "AddBreakpointIcon";
"SignatureIsValidIcon"; SELECT_TYPE_UNSELECTABLE)
VehicleDlg.AddAvailableItem("Motor V8 3.0 650"; "Трактор";
"Двигатель V8 3.0 650 л.с."; "AddBreakpointIcon"; "SignatureIsValidIcon";
SELECT_TYPE_SELECTABLE)
VehicleDlg.AddAvailableItem("Trunk Lid"; "Трактор"; "Багажник";
"AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)
VehicleDlg.AddAvailableItem("Front window"; "Трактор"; "Лобовое стекло";
"AddBreakpointIcon"; "SignatureIsValidIcon";
SELECT_TYPE_SELECTABLE_WITH_CHILD)
VehicleDlg.AddAvailableItem("Rubber seal"; "Front window"; "Резиновый
уплотнитель";
"AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)
VehicleDlg.AddAvailableItem("Leather Interior"; "Трактор"; "Салон";
"AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)
VehicleDlg.AddAvailableItem("Vehicle Body"; "Трактор"; "Кузов";
"AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)
VehicleDlg.AddAvailableItem("Wheels"; ""; "Колеса";
"AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)
VehicleDlg.AddAvailableItem("Кear silencer"; ""; "Глушитель";
"AddBreakpointIcon"; "SignatureIsValidIcon"; SELECT_TYPE_SELECTABLE)
// Открытие диалога
VehicleDlg.AvailableItems.First
if VehicleDlg.Execute
Text = ""
ds = VehicleDlg.SelectedItems
ds.First
while not ds.EOF
Text = Text & CR & VehicleDlg.SelectedItems.Requisites('Title').AsString
ds.Next
endwhile
if Text == ""
Showmessage("Вы ничего не выбрали")
else
Showmessage("Вы выбрали:" & Text)
endif
else
Showmessage("Вы ничего не хотите?")
endif
В результате данных вычислений будет создан диалог выбора в список комплектующих, расположенных в узлах дерева:
Выбранные комплектующие отмечены в дереве значком .
Подробнее о методах и свойствах объекта ITreeListSelectDialog см. раздел «ITreeListSelectDialog – диалог выбора элементов дерева для добавления в список».
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |