На этом шаге мы рассмотрим уничтожение окон.
Окно, диалоговое окно или элемент управления могут быть уничтожены вызовом предиката win_Destroy. После вызова этого предиката для конкретного окна обработчик событий окна получит событие e_Destroy. В обработчике этого события можно удалить связанные с окном факты, закрыть файлы и т. д.
При уничтожении окна автоматически уничтожаются его дочерние окна. Все они получят событие e_Destroy перед тем, как это же событие получит родительское окно. Код для уничтожения окна показан ниже.
%Кнопка ОК закроет окно event handler(Window,e_Control(idc_ok,_,CtlWindow,Ctllnfo),0):-!, win_Destroy(Window). %Выполнение очистки в событии e_Destroy win_event__handler(Window,e_Destroy,0):-!, retractall(mywin_data(Window,_)).
На следующем шаге мы рассмотрим доступ к клиентской области и область отсечений.