Проектирование графического интерфейса пользователя_______________271

J^BL        s:          ;:'   -:::- ^^ШЯЯ                                                 '••

^^В          !^     ХРАНИЛИЩЕ ДОКУМЕНТОВ ||||||Д«          ;                                                   |

I

» .        I————I

а)                                                6)
Рис. 4.15

Формы для приложения, использующее технику Drag&Doc

IMbi создали необходимые нам формы. Осталось написать несколько операто-
ров, чтобы это все работало.

10. Выполните для модуля Umain команду File | Include Unit Hdr и подключите с ее
помощью заголовочный файл UDoc.h, чтобы можно было ссылаться на модуль

11. Введите глобальную переменную LDoc типа TList. Она представляет собой
список, в котором будут храниться указатели на создаваемые пользователем
формы документов.

TList * LDoc;

В обработчик события OnCreate формы Fmain запишите оператор

LDoc = new TList ();

Др-     Этот оператор создает список LDoc.

12. Осталось написать обработчик щелчка на разделе меню Новый. Он может

•иметь следующий вид:

TFDoc * New = new TFDoc(this);

LDoc->Add(New);

New->Caption = "Документ "+IntToStr(LDoc->Count);

В этом обработчике вводится переменная New'rana TFDoc, соответствующего
типу формы FDoc. Первый оператор обработчика динамически размещает новую
форму FDoc и присваивает указатель на нее переменной New. Следующий опера-
тор добавляет указатель на эту форму в список LDoc. А последний оператор задает

^L заголовок окна формы FDoc, равным Документ .... где многоточие заменяется на но-

^f мер, соответствующий числу строк в списке LDoc.

Теперь ваше приложение полностью готово. Сохраните его и попробуйте в ра-
боте (рис. 4.16). При щелчке на Новый создается новая форма документа, в кото-

^В ром вы можете писать текст. Документы можно помещать в хранилище, в котором

^и каждому документу автоматически отводится новая страница. Вы можете рабо-

J  тать с документом непосредственно в хранилище, а можете изъять его оттуда, пре-

J  вратив опять в отдельное окно.

У     Для того, чтобы сделать из вашего приложения законченный продукт, нужна
еще, конечно, некоторая техническая работа. Надо бы добавить разделы меню, по-