Разбираюсь тут с окнами и решил прояснить для себя, что такое документ (см. модуль Documents.Document). Вот что получилось:
> -- Цитата:
> Технически документ это контейнер отображений, связанный с окном. При этом в дереве фреймов окна документ связан с корневым фреймом. В общем случае отображение открывается в документе. Концепция каркаса предполагает, что документ является корнем ненаправленного ацикличного графа отображений, а окно является корнем дерева фреймов.	Концептуально понятие документа относится к документоориентированности Блэкбокса. В справке по каркасу есть раздел Compound Documents, в котором обоснована необходимость поддержки каркасом разделения на пространство документа и пространство отображения. В пространстве документа используются стандартные единицы длины, а в пространстве отображения используются экранные (пиксельные) размерности. Таким образом, название модуля Documents вроде бы соответствует концепции Блэкбокса.	Документ удобен для постраничной распечатки отображения, ведь модуль Documents предоставляет соответствующие возможности. Ещё считается, что документ поддерживает два стека операций, Повтор и Отмена. Но на самом деле эти операции реализованы на уровне окна, а объект Documents.Document сам этим не занимается.	Важно указать, что все объекты, встроенные в контейнер документа, разделяют меж собой один и тот же домен хранилища, к которому относится и сам документ.Собственно, и всё. Жидковато, надо сказать. Окно никакими особенными функциями объекта Документ не пользуется, а значит, Документом можно назвать любое отображение, открытое в окне. Ну, разве что возможность распечатки полезная, но этим архитектуру не расшатать. Поэтому наличие модуля Documents кажется несколько надуманным (мол, "а давайте между окном и графом отображений воткнём какой-нибудь контейнер").