Шаг 37.
Visual Prolog.
Уничтожение окон

    На этом шаге мы рассмотрим уничтожение окон.

    Окно, диалоговое окно или элемент управления могут быть уничтожены вызовом предиката 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,_)).

    На следующем шаге мы рассмотрим доступ к клиентской области и область отсечений.




Предыдущий шаг Содержание Следующий шаг