На этом шаге мы рассмотрим создание окна дерева.
Теперь создадим окно, которое покажет структуру дерева. Это одно из инструментальных средств, которое может быть включено в модуль VPITools.pro. Перед созданием окна Tree следует удостовериться, что включена опция Tree Package на вкладке VPI Options в эксперте приложения (это можно сделать комбинацией клавиш <Ctrl>+<A>).

Рис.1. Опция Tree Package включена
Теперь подготовьте окно Tree, выполняя следующие шаги:

Рис.2. Добавление кода по умолчанию для окна дерева
Результат работы приложения изображен на рисунке 3:

Рис.3. Результат работы приложения
Загляните в файл Tree.pro и посмотрите, как создано дерево. В Прологе очень просто создавать дерево из различных структур данных, таких как списки файлов на вашем жестком диске или записи в базе данных.
win_tree_Create(_Parent):-
ifdef use_tree
Tree=tree("0",unmarked,
[tree("3",unmarked,[],0),
tree("2",unmarked,
[tree("4",unmarked,[] ,0)],0),
tree("1",unmarked,[],0)],0),
TreeDir=tree_dirright,
Font=font_Create(ff_Fixed,[],10),
TreeWinInfo=tree_WinInfo(Font,TreeDir,[]),
tree_Create(win_tree_WinType,win_tree_RCT,
win_tree_Title,win_tree_Menu,_Parent,
win_tree_Flags,win_tree_eh,0,Tree,
TreeWinInfo,[]),
enddef
true.
Обратите внимание, что хотя окно Tree представляет собой особый вид окна, его код имеет такую же структуру, как и код для окон, которые вы создаете самостоятельно: имеется вызов для создания окна и стандартный обработчик событий.
Добавьте следующее предложение для события e_MouseUp и посмотрите, как легко получить информацию узла, щелкнув по нему мышью:
win_tree_eh(_Win, e_MouseUp(_PNT,_ShiftCtlAlt,_Button),0):-!,
SelectorText=tree_GetSelectedNode(_Win),
dlg_Note("Сообщение",SelectorText),
!.
Результат работы приложения изображен на рисунке 4:

Рис.4. Результат работы приложения
Созданное приложение можно взять здесь (427,8 Кб).
На следующем шаге мы рассмотрим создание окна редактора.