На этом шаге мы рассмотрим управление панелью инструментов.
Наконец, мы хотим обработать нажатие кнопки Clear на панели инструментов. Когда кнопка панели инструментов нажата, посылается событие e_Menu, поэтому мы можем использовать эксперт окон и диалоговых окон, чтобы добавить код для события e_Menu с идентификатором ресурса (константой) id_clear:
win_sweep_eh(_Win,e_Menu(id_clear,_ShiftCtlAlt),0):-!, retractall(mouse_isdown(_Win)), retractall(point(_Win,_)), win_Clear(_Win,color_White), !.
Теперь можно открыть панель инструментов Sweep и проверить, что ваша кнопка имеет постоянный идентификатор id_clear. Для этого выберем тип компонента Toolbar (на левой стороне окна проекта), дважды щелкнем мышью на названии Sweep toolbar и затем на лицевой стороне вашей кнопки.
Вы должны очистить окно вызовом предиката win_Clear, а также не забыть отменить факты, чтобы окно затем не было повторно перерисовано (в событии e_Update).
При закрытии окна нужно отменить все факты, которые были сохранены для этого окна. Воспользуемся специальным событием e_Destroy, которое является последним событием, получаемым окном:
win_sweep_eh(_Win,e_Destroy,0):-!. retractall(mouse_isdown(_Win)), retractall(point(_Win,_)), !.
Созданное приложение можно взять здесь (394,7 Кб)
На следующем шаге мы рассмотрим изменение курсора мыши.