824 __ _ __ __________Часть V. Инструментарий программиста
В этой функции работа идет в основном с оформлением окна, в которое будет выводиться страница для предварительного просмотра. В первой строке
TDecoratedFrame::SetupWindow();
вызывается именно та функция родительского класса, которую вы здесь переопределяете. Переопределение означает, что действие этой функции не отменяется, а просто обогащается дополнительными возможностями. Следующий оператор
Pagel = new TPreviewPage(Client, *Printout, *PrnDC, *PrintExtent, 1);
служит для создания страницы вывода. Страница (Pagel) создается в динамически выделяемой памяти с помощью операции new. Она является экземпляром класса TPreviewPage. Этот класс уже обладает основными свойствами страницы просмотра.
Вблизи конца текста находится строка :
Pagel->Create ();
Эта функция-член создает страницу в соответствии со значениями данных-членов объекта Pagel.
4. Теперь можно отредактировать текст функции так, чтобы он соответствовал вашим потребностям. Затем надо выбрать пункт Make All в окне проекта.
Просмотр и создание в классе обработчиков команд
Некоторые классы содержат меню, которые управляют поведением приложения. Реализации ряда пунктов меню File, например, Print Preview, полностью создаются программой AppExpert, а такие как пункт New существуют только в виде заготовок. Труд дописать текст этих функций оставлен вам. Рассмотрим шаг за шагом, как это делается.
1. Выберите класс TBHVIAPP в разделе классов.
2. Обратите внимание, что все три категории обработчиков событий отмечены галочками. Щелкните мышью по пункту Command Notifications (сообщения команд), чтобы развернуть список команд, как это сделано на рис. 28.16.
3. Щелкните мышью по значку "+" рядом с пунктом CM_FILEPRINT, чтобы раскрыть следующий уровень. Затем выберите пункт Command и щелкните мышью по имени класса; исходный текст этого класса появится на панели исходных текстов. Метод класса TBHVlApp называется cmFilePrint(), его текст приведен в листинге 28.3.