Уроки по Delphi



         

Урок13 Завершение проектирования MyEdit. - часть 2


procedure TMainForm.N8Click(Sender: TObject);

begin

Close; // Закрыть главное окно (закрыть программу)

end;

Можно написать MainForm.Close, что равнозначно вышесказанному. Но поскольку данный модуль (Unit) предназначен для работы с формой (MainForm) и с его компонентами, то все команды в этом модуле воспринимаются как команды для окна, если мы непосредственно не указываем получателя.

Закрывая главное окно, мы тем самым закрываем все дочерние окна. Команда закрытия главного окна работает следующим образом.

1. После получения команды закрытия поочередно посылается аналогичная команда на все дочерние окна.

2. Если в дочерних окнах файл был изменен, происходит запрос на сохранение, в течении которого главное окно ждет.

3. Если пользователь ответил на запрос "Отмена", то одно из дочерних окон не закрывается и процесс закрытия главного окна прекращается. Текстовый файл по прежнему доступен для редактирования.

4. В случае успешного закрытия всех дочерних окон закрывается и главное окно приложения.

5. Программа после закрытия главного окна завершает работу.

Весь такой трудоемкий процесс закрытия происходит очень быстро и незаметно для пользователя, и что главное – полностью автоматически. Во-первых (как это не прискорбно для некоторых "любителей" Windows) благодаря свойствам операционной системы управления MDI-приложениями; во-вторых благодаря нам, мы этот случай рассматривали только при закрытии единственного дочернего окна и не подозревая, что применяем ко всему проекту. Все в программах, как и в этом мире взаимосвязано, особенно все, что касается дочерних процессов.

У нас в меню "Файл" остался один незадействованный пункт "Закрыть". Его применяют для закрытия активного дочернего окна (если пользователю лень нажать на крестик в правом верхнем углу). Мы этот пункт уже применили в меню "Окна", и поэтому его необходимость повторного существования отпадает. Его можно удалить или назначить соответствующее свойство из списка стандартных действий.




Содержание  Назад  Вперед