Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Глава 21. Объектные типы ObjectWindows (продолжение)

         Константы tf_XXXX                                 модуль OWindows
        -----------------------------------------------------------------

             Назначение: Константы флага,  начинающиеся с tf_, использует
        метод Transfer.

             Значения: Определены следующие константы:

                           Константы функции Transfer       Таблица 21.25
        +-----------------+----------+----------------------------------+
        |   Константы     | Значение |              Смысл               |
        +-----------------+----------+----------------------------------|
        |   tf_SizeData   |    0     | Определяет размер переданных объ-|
        |                 |          | ектом данных.                    |
        |                 |          |                                  |
        |   tf_GetData    |    1     | Считывает данные из объекта.     |
        |                 |          |                                  |
        |   tf_SetData    |    2     | Передает   данные  для  установки|
        |                 |          | значения объекта.                |
        |                 |          |                                  |
        +-----------------+----------+----------------------------------+
------------------------------------------------------------------------
         TFileDialog                                       модуль OStdDlgs
        -----------------------------------------------------------------

             TObject   TWindowsObject
             +------+  +----------------------------------------+
             +------|  | ChildList           Parent             |
             |-Init-|  | Flags               Status             |
             |-Done-|  | HWindow             TransferBuffer     |
             | Free |  | Instance                               |
             +------+  +----------------------------------------|
                       |-Init--------        GetChildren        |
                       |-Load--------       -GetClassName-------|
                       | Done                GetClient          |
                       | AddChild           -GetId--------------|
                       | At                  GetSiblingPtr      |
                       | Canclose           -GetWindowClass-----|
                       | ChildWithId         IndexOf            |
                       | CloseWindow         IsFlagSet          |
                       | CMExit              Next               |
                       |-Create------        Previous           |
                       | CreateChildren      PutChildPtr        |
                       | CreateMemoryDC      PutChildren        |
                       | DefChildProc        PutSiblingPtr      |
                       | DefCommandProc     -Register-----------|
                       | DefNotificationProc RemoveChild        |
                       |-DefWndProc--        SetFlags           |
                       | Destroy            -SetupWindow--------|
                       | Disable             Show               |
                       | DisableAutoCreate  -Store--------------|
                       | DisableTransfer     Transfer           |
                       | DispatchScroll      TransferData       |
                       | Enable             -WMActivate---------|
                       | EnableAutoCreate    WMClose            |
                       | EnableKBHandler     WMCommand          |
                       | EnableTransfer      WMDestroy          |
                       | FirstThat          -WMNScroll----------|
                       | Focus               WMNCDestroy        |
                       | ForEach             WMNQueryEndSession |
                       | GetChildPtr        -WMVScroll----------|
                       +----------------------------------------+


             TDialog                TFileDialog
             +-------------------+  +-----------------+
             | Attr              |  | Caption         |
             | IsModal           |  | Extension       |
             +-------------------|  | FilePath        |
             |-Init--------------|  | FileSpec        |
             | Load              |  | PathName        |
             | Done              |  +-----------------|
             | Create            |  | Init            |
             | DefWndProc        |  | CanClose        |
             | EndDlg            |  | HandleDList     |
             | Execute           |  | HandleFList     |
             | GetItemHandle     |  | HandleFName     |
             | Ok                |  | SetupWindow     |
             | SendDlgItemMsg    |  +-----------------+
             | Store             |
             | WMClose           |
             | WMInitDialog      |
             | WMPostInvalid     |
             | WMQueryEndSession |
             +-------------------+

             Файловые диалоговые  блоки  позволяют  пользователю  выбрать
        файл для открытия или указать имя файла для сохранения.

                                        Поля
        -----------------------------------------------------------------

                                     Caption

             Caption: PChar;

             Указывает на строку,  которая выводится в заголовке диалого-
        вого блока.  Если Caption имеет  значение  nil,  то  используется
        текст из диалогового ресурса.  Присвоив Caption другую строку, вы
        можете изменить заголовок.

                                    Extension

             Extension: array[0fsExtension] of Char;

             Содержит расширение для файлов.  Если пользователь  набирает
        имя файла без расширения, то файловый диалоговый блок добавляет к
        имени Extension.

                                    FilePath

             FilePath: PChar;

             Будучи установленным в значение,  переданное в конструкторе,
        FilePath указывает  на  буфер,  который будет содержать выбранное
        пользователем имя маршрута.  Файловый диалоговый блок помещает  в
        буфер итоговое имя файла.

                                    FileSpec

             FileSpec: array[0fsFileSpec] of Char;

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

                                    PathName

             PathName: array[0fsPathName] of Char;

             Содержит текущий выбранный маршрут каталога.

                                       Методы
        -----------------------------------------------------------------

             Ниже описываются методы, определенные в данном объекте.

                                        Init
        -----------------------------------------------------------------

             constructor Init(AParant: PWindowsObject; AName,
                              AFilePath: PChar);

             Строит файловый диалоговый блок с порождающим окном  AParent
        из диалогового ресурса. Ресурс определяется значением, переданным
        в AName.  Параметр  AName  должен  содержать  одну  из   констант
        sd_XXXX,  sd_FileOpen или sd_FileSave и для определения характера
        создаваемого файлового блока (диалоговый блок открытия файла  или
        диалоговый блок сохранения файла) с помощью MakeIntResource нужно
        привести его  тип  к  PChar.  На  основе  AName  и   значения   в
        BWCCClassName  Init  определяет,  какой  ресурс  нужно задать для
        конструктора Init, наследуемого из TDialog. Устанавливает Caption
        в  nil,  а FilePath - в AFilePath.  AFilePath должно указывать на
        буфер размера,  достаточного для размещения полного имени  файла,
        обычно array[0fsPathName] of Char.

                                      CanClose
        -----------------------------------------------------------------

             function CanClose: Boolean; virtual;

             Возвращает True, если пользователь выбрал файл, что позволя-
        ет закрыть диалоговый блок. Если текущий выделенный маршрут явля-
        ется каталогом или содержит трафаретные символы,  CanClose обнов-
        ляет блоки списка файла и каталога и возвращает False,  указывая,
        что диалоговый блок закрывать не следует.

                                    SetupWindow
        -----------------------------------------------------------------

             procedure SetupWindow; virtual;

             Ограничивает число   символов   в   имени   файла  значением
        fsPathName. Если Caption не равно 0,  устанавливает заголовок ди-
        алогового блока в Caption. копирует FilePath в PathName, а расши-
        рение PathName - в Extension.  Обновляет блоки списка  для  соот-
        ветствия текущему имени файла.

                                    HandleFName
        -----------------------------------------------------------------

             procedure HandleFName(var Msg: TMessage); virtual
                                   id_First + id_FName;

             Реагирует на изменения в управляющем элементе редактирования
        FileName, разрешая или запрещая командную кнопку Ok.  В противном
        случае разрешает Ok.

                                    HandleFList
        -----------------------------------------------------------------

             procedure HandleFList(var Msg: TMessage); virtual;
                                   id_First + id_FList;

             Отвечает на  уведомляющее  сообщение  от блока списка файлов
        обновлением текущего имени файла и реагирует  на  двойной  щелчок
        "мышью" на имени файла.  Если пользователь дважды щелкнул кнопкой
        "мыши", вызывает для завершения диалогового блока Ok.  Если  блок
        списка потерял фокус ввода, HandleFList отменяет выбор выделенных
        элементов.

                                    HandleDList
        -----------------------------------------------------------------

             procedure HandleDList(var Msg: TMessage); virtual
                                   id_First + id_DList;

             Реагирует на уведомляющие сообщения блока  списка каталогов,
        обновляя текущее имя файла, и на двойной щелчок на каталоге кноп-
        кой "мыши". Если блок списка потерял фокус ввода, HandleFList от-
        меняет выбор выделенных элементов.


         TFileWindow                                              OStdWnds
        -----------------------------------------------------------------

             TObject   TWindowsObject
             +------+  +----------------------------------------+
             +------|  | ChildList           Parent             |
             |-Init-|  | Flags               Status             |
             |-Done-|  | HWindow             TransferBuffer     |
             | Free |  | Instance                               |
             +------+  +----------------------------------------|
                       |-Init--------        GetChildren        |
                       |-Load--------       -GetClassName-------|
                       | Done                GetClient          |
                       | AddChild           -GetId--------------|
                       | At                  GetSiblingPtr      |
                       | Canclose           -GetWindowClass-----|
                       | ChildWithId         IndexOf            |
                       | CloseWindow         IsFlagSet          |
                       | CMExit              Next               |
                       |-Create------        Previous           |
                       | CreateChildren      PutChildPtr        |
                       | CreateMemoryDC      PutChildren        |
                       | DefChildProc        PutSiblingPtr      |
                       | DefCommandProc     -Register-----------|
                       | DefNotificationProc RemoveChild        |
                       |-DefWndProc--        SetFlags           |
                       | Destroy            -SetupWindow--------|
                       | Disable             Show               |
                       | DisableAutoCreate  -Store--------------|
                       | DisableTransfer     Transfer           |
                       | DispatchScroll      TransferData       |
                       | Enable             -WMActivate---------|
                       | EnableAutoCreate    WMClose            |
                       | EnableKBHandler     WMCommand          |
                       | EnableTransfer      WMDestroy          |
                       | FirstThat          -WMNScroll----------|
                       | Focus               WMNCDestroy        |
                       | ForEach             WMNQueryEndSession |
                       | GetChildPtr        -WMVScroll----------|
                       +----------------------------------------+


             TWindow                TEditWindow
             +-------------------+  +-----------------+
             | Attr              |  | Editor          |
             | DefaultProc       |  | SearchRec       |
             | Scrol[ler         |  +-----------------|
             | FocusChildHandle  |  |-Init------------|
             +-------------------|  |-Load------------|
             |-Init--------------|  | CMEditFind      |
             | InitResource      |  | CMEditFindNext  |
             |-Load--------------|  | CMEditReplace   |
             | Done              |  |-Store-----------|
             | Create            |  | WMSize          |
             | DefWndProc        |  | WMSetFocus      |
             | FocusChild        |  +-----------------+
             | GetId             |
             | GetWindowClass    |  TFileWindow
             | Paint             |  +-----------------+
             | SetCaption        |  | FileName        |
             | SetupWindow       |  | IsNewFile       |
             |-Store-------------|  +-----------------|
             | UpdateFocusChild  |  | Init            |
             | WMActivate        |  | Load            |
             | WMHScroll         |  | CanClear        |
             | WMLButtonDown     |  | CanClose        |
             | WMMDIActivate     |  | CMFileNew       |
             | WMMove            |  | CMFileOpen      |
             | WMPaint           |  | CMFileSave      |
             |-WMSize------------|  | CMFileSaveAs    |
             | WMSysCommand      |  | NewFile         |
             | WMVScroll         |  | Open            |
             +-------------------+  | Read            |
                                    | ReplaceWith     |
                                    | Save            |
                                    | SetFileName     |
                                    | SetupWindow     |
                                    | Store           |
                                    | Write           |
                                    +-----------------+

             Файловое окно  - это окно редактирования со специализирован-
        ными методами для чтения и записи редактируемого текста  в  файл.
        Подробности о полях и методах TFileWindow вы можете узнать в опе-
        ративном справочнике Help.


------------------------------------------------------------------------
         TFilterValidator                                  модуль Validate
        -----------------------------------------------------------------

             TObject   TValidator           TFileWindow
             +------+  +-----------------+  +-----------------+
             +------|  | Options         |  | ValidChars      |
             |-Init-|  | Status          |  +-----------------|
             |-Done-|  +-----------------|  | Init            |
             | Free |  |-Init------------|  | Load            |
             +------+  |-Load------------|  | Error           |
                       |-IsInvalid-------|  | IsValid         |
                       |-IsValidInput----|  | IsValidInput    |
                       |-Store-----------|  +-----------------+
                       | Transfer        |
                       | Valid           |
                       +-----------------+

             Объекты фильтрации  и проверки допустимости проверяют инфор-
        мацию, набираемую пользователем в полях ввода.  Механизм проверки
        допустимости содержит  набор допустимых символов.  Если пользова-
        тель набирает один из разрешенных символов,  то  фильтр  проверки
        допустимости  указывает,  что символ допустим.  Если пользователь
        набрал любой другой символ, механизм проверки допустимости указы-
        вает, что ввод недопустим.

                                        Поля
        -----------------------------------------------------------------

                                   ValidChars

             ValidChars: TCharSet;

             Содержит набор всех символов, которые может набирать пользо-
        ватель. Например,  чтобы  разрешить ввод только цифр,  установите
        ValidChars в ['0''9'].  ValidChars  устанавливается  параметром
        AValidChars, переданным конструктору Init.

                                       Методы
        -----------------------------------------------------------------

             Ниже описываются методы, определенные в данном объекте.

                                        Init
        -----------------------------------------------------------------

             constructor Init(AValidChars: TCharSet);

             Строит объект  фильтрации  и проверки допустимости,  вызывая
        сначала наследуемый из TValidator конструктор Init, а затем уста-
        навливая ValidChars в AValidChars.

                                        Load
        -----------------------------------------------------------------

             constructor Load(var S: TStream);

             Строит и загружает объект фильтрации и проверки допустимости
        из потока S,  вызывая сначала наследуемый из TValidator конструк-
        тор Load,  а  затем  считывая   набор   допустимых   символов   в
        ValidChars.

             См. также: TVAlidator.Load.

                                       Error
        -----------------------------------------------------------------

             procedure Error; virtual;

             Выводит блок сообщений,  указывающий,  что текстовая  строка
        содержит недопустимый символ.

                                      IsValid
        -----------------------------------------------------------------

             function IsValid(const S: string): Boolean; virtual;

             Возвращает значение True, если все символы в строке S содер-
        жатся в  множестве  допустимых  символов ValidChars.  В противном
        случае возвращает False.

                                    IsValidInput
        -----------------------------------------------------------------

             function IsValid(const S: string; SuppressFill: Boolean):
                              Boolean; virtual;

             Проверяет каждый символ в строке S на принадлежность к  мно-
        жеству допустимых символов ValidChars. Возвращает True,  если все
        символы в строке S допустимы.  В  противном  случае  возвращается
        значение False.

                                       Store
        -----------------------------------------------------------------

             procedure Store(var S: TStream);

             Сохраняет объект фильтрации и проверки допустимости в потоке
        S, записывая ValidChars.


------------------------------------------------------------------------
         TGroupBox                                                ODialogs
        -----------------------------------------------------------------

             TObject   TWindowsObject
             +------+  +----------------------------------------+
             +------|  | ChildList           Parent             |
             |-Init-|  | Flags               Status             |
             |-Done-|  | HWindow             TransferBuffer     |
             | Free |  | Instance                               |
             +------+  +----------------------------------------|
                       |-Init--------        GetChildren        |
                       |-Load--------       -GetClassName-------|
                       | Done                GetClient          |
                       | AddChild           -GetId--------------|
                       | At                  GetSiblingPtr      |
                       | Canclose           -GetWindowClass-----|
                       | ChildWithId         IndexOf            |
                       | CloseWindow         IsFlagSet          |
                       | CMExit              Next               |
                       |-Create------        Previous           |
                       | CreateChildren      PutChildPtr        |
                       | CreateMemoryDC      PutChildren        |
                       | DefChildProc        PutSiblingPtr      |
                       | DefCommandProc     -Register-----------|
                       | DefNotificationProc RemoveChild        |
                       |-DefWndProc--        SetFlags           |
                       | Destroy            -SetupWindow--------|
                       | Disable             Show               |
                       | DisableAutoCreate  -Store--------------|
                       | DisableTransfer     Transfer           |
                       | DispatchScroll      TransferData       |
                       | Enable             -WMActivate---------|
                       | EnableAutoCreate    WMClose            |
                       | EnableKBHandler     WMCommand          |
                       | EnableTransfer      WMDestroy          |
                       | FirstThat          -WMNScroll----------|
                       | Focus               WMNCDestroy        |
                       | ForEach             WMNQueryEndSession |
                       | GetChildPtr        -WMVScroll----------|
                       +----------------------------------------+


             TWindow                TControl
             +-------------------+  +-----------------+
             | Attr              |  +-----------------|
             | DefaultProc       |  |-Init------------|
             | Scrol[ler         |  |-InitResource----|
             | FocusChildHandle  |  |-GetClassName----|
             +-------------------|  | Register        |
             |-Init--------------|  | WMPaint         |
             | InitResource      |  +-----------------+
             |-Load--------------|
             | Done              |  TGroupBox
             | Create            |  +-----------------+
             | DefWndProc        |  | NotifyParent    |
             | FocusChild        |  +-----------------|
             | GetId             |  | Init            |
             | GetWindowClass    |  | InitResource    |
             | Paint             |  | Load            |
             | SetCaption        |  | GetClassName    |
             | SetupWindow       |  | SelectionChanged|
             |-Store-------------|  | Store           |
             | UpdateFocusChild  |  +-----------------+
             | WMActivate        |
             | WMHScroll         |
             | WMLButtonDown     |
             | WMMDIActivate     |
             | WMMove            |
             | WMPaint           |
             |-WMSize------------|
             | WMSysCommand      |
             | WMVScroll         |
             +-------------------+

             Объект TGroupBox - это объект интеpфейса, пpедставляющий со-
        ответствующий элемент, называемый в Windows гpупповым блоком. Хо-
        тя групповые блоки не играют на экране активной роли,  они  визу-
        ально  унифицируют группу блоков выбора (кнопок с зависимой и не-
        зависимой фиксацией). Однако "закулисно" они играют важную роль в
        управлении  состоянием своих блоков выбора.  Например,  вы можете
        отреагировать на выбор пользователем одной кнопки отменой  выбора
        всех остальных.

                                        Поля
        -----------------------------------------------------------------

                                   NotifyParent

             NotifyParent: Boolean;

             Флаг, указывающий, должен ли уведомляться предок пpи измене-
        нии состояния блоков выбоpа гpуппового блока.  По умолчанию имеет
        значение True.

                                       Методы
        -----------------------------------------------------------------

             Ниже описываются методы, определенные в данном объекте.

                           Init (иногда переопределяется)
        -----------------------------------------------------------------

             constructor Init(AParent: PWindowsObject; AnID: Integer;
                              AText: PChar; X, Y, W, H: Integer);

             Создает объект гpуппового блока с пеpеданным порождающим ок-
        ном (AParent),  идентификатоpом управляющего элемента (AnId), со-
        ответствующим текстом (AText), позицией (X,Y) относительно начала
        области пользователя pодительского окна,  шиpиной (W)  и  высотой
        (H). Вызывает конструктор TControl.Init с аналогичными параметра-
        ми,  а затем добавляет стиль Windows Attr.Style и  удаляет  стиль
        ws_TabStop из поля Attr.Style группового блока.  NotifyParent ус-
        танавливается в значение True.  По  умолчанию  предок  гpуппового
        блока уведомляется пpи изменении состояния блоков выбоpа.

             См. также: TControl.Init.

                                    InitResource
        -----------------------------------------------------------------

             constructor InitResource(AParent: PWindowsObject;
                                      ResourceID: Word);

             Связывает объект  группового блока с управляющим элементом в
        ресурсе,  заданном  параметром  ResourceID,  вызывая  конструктор
        InitResource, наследуемый из TControl.  Для исключения группового
        блока из механизма передачи вызывает  DisableTransfer  (поскольку
        данных для передачи нет).

                                        Load
        -----------------------------------------------------------------

             constructor Load(var S: TStream);

             Строит и загружает групповой блок из потока S,  вызывая сна-
        чала TConstrol.Load,   а   затем   считывая  дополнительное  поле
        (NotifyParent), введенное в TGroupBox.

             См. также: TControl.Load.

                       GetClassName (иногда переопределяется)
        -----------------------------------------------------------------

             function GetClassName: PChar; virtual;

             Возвpащает имя класса окна объекта TGroupBox - 'Button'.

                     SelectionChanged (иногда переопределяется)
        -----------------------------------------------------------------

             procedure SelectionChanged(ControlD: Integer); virtual;

             Если NotifyParent имеет значение True,  уведомляет порождаю-
        щее окно гpуппового блока, что один из выбоpов изменился, посылая
        ему сообщение,  базиpующееся на дочеpнем идентификатоpе. Этот ме-
        тод можно пеpеопpеделить, чтобы гpупповой блок мог pеагиpовать на
        его выбоpы.

                                       Store
        -----------------------------------------------------------------

             procedure Stroe(var S: TStream);

             Записывает групповой   блок   в  поток  S,  вызывая  сначала
        TControl.Store,   а   затем   записывая    дополнительное    поле
        (NotifyParent), введенное в TGroupBox.

             См. также: TControlStore.


------------------------------------------------------------------------
         TInputDialog                                      модуль OStdDlgs
        -----------------------------------------------------------------

             TObject   TWindowsObject
             +------+  +----------------------------------------+
             +------|  | ChildList           Parent             |
             |-Init-|  | Flags               Status             |
             |-Done-|  | HWindow             TransferBuffer     |
             | Free |  | Instance                               |
             +------+  +----------------------------------------|
                       |-Init--------        GetChildren        |
                       |-Load--------       -GetClassName-------|
                       | Done                GetClient          |
                       | AddChild           -GetId--------------|
                       | At                  GetSiblingPtr      |
                       | Canclose           -GetWindowClass-----|
                       | ChildWithId         IndexOf            |
                       | CloseWindow         IsFlagSet          |
                       | CMExit              Next               |
                       |-Create------        Previous           |
                       | CreateChildren      PutChildPtr        |
                       | CreateMemoryDC      PutChildren        |
                       | DefChildProc        PutSiblingPtr      |
                       | DefCommandProc     -Register-----------|
                       | DefNotificationProc RemoveChild        |
                       |-DefWndProc--        SetFlags           |
                       | Destroy            -SetupWindow--------|
                       | Disable             Show               |
                       | DisableAutoCreate  -Store--------------|
                       | DisableTransfer     Transfer           |
                       | DispatchScroll      TransferData       |
                       | Enable             -WMActivate---------|
                       | EnableAutoCreate    WMClose            |
                       | EnableKBHandler     WMCommand          |
                       | EnableTransfer      WMDestroy          |
                       | FirstThat          -WMNScroll----------|
                       | Focus               WMNCDestroy        |
                       | ForEach             WMNQueryEndSession |
                       | GetChildPtr        -WMVScroll----------|
                       +----------------------------------------+


             TDialog                TInputDialog
             +-------------------+  +-----------------+
             | Attr              |  | Caption         |
             | IsModal           |  | Prompt          |
             +-------------------|  | Buffer          |
             |-Init--------------|  | BufferSize      |
             | Load              |  +-----------------|
             | Done              |  | Init            |
             | Create            |  | CanClose        |
             | DefWndProc        |  | SetupWindow     |
             | EndDlg            |  +-----------------+
             | Execute           |
             | GetItemHandle     |
             | Ok                |
             | SendDlgItemMsg    |
             | Store             |
             | WMClose           |
             | WMInitDialog      |
             | WMPostInvalid     |
             | WMQueryEndSession |
             +-------------------+

             Объект TInputDialog обеспечивает общее диалоговое  окно  для
        получения текстового ввода от пользователя (одной строки текста).

                                        Поля
        -----------------------------------------------------------------

                                     Buffer

             Buffer: PChar;

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

                                   BufferSize

             BufferSize: Word;

             Содержит размер буфера,  который возвращает ввод пользовате-
        ля.

                                     Caption

             Caption: PChar;

             Указывает на строку,  которая выводится в качестве заголовка
        диалогового окна.

                                     Prompt

             Prompt: PChar;

             Указывает на подсказку диалогового окна ввода, которая выво-
        дится над строкой ввода.

                                       Методы
        -----------------------------------------------------------------

             Ниже описываются методы, определенные в данном объекте.

                                        Init
        -----------------------------------------------------------------

             constructor Init(AParent: PWindowsObject;
                   ACaption, APrompt, ABuffer: PChar; ABufferSize: Word);

             Строит файловый  диалоговый блок с порождающим окном,  пере-
        данным в параметре AParent,  вызывая наследуемый от TDialog конс-
        труктор   Init.   Имя  шаблона  ресурса  определяется  поиском  в
        BWCCClassName.  Если приложение использует BWCC,  диалоговый блок
        ввода будет использовать ресурс BWCC.  В противном случае исполь-
        зуется обычный диалоговый блок Windows.

             См. также: TDialog.Init.

                                      CanClose
        -----------------------------------------------------------------

             function CanClose: Boolean; virtual;

             Считывает в буфер Buffer из управляющего элемента редактиро-
        вания диалогового блока до BufferSize символов,  затем возвращает
        True, указывая, что диалоговый блок можно закрыть.

                                    SetupWindow
        -----------------------------------------------------------------

             procedure SetupWindow; virtual;

             При установке окна вызывает метод  SetupWindow,  наследуемый
        из TDialog, затем устанавливает заголовок диалогового блока в со-
        ответствие со строкой Caption.  Текст подсказки  устанавливает  в
        Prompt,  текст буфера - в Buffer, а затем ограничивает число вво-
        димых пользователем символов значением BufferSize - 1.

         Тип TItemList                                      модуль Objects
        -----------------------------------------------------------------

             Описание:

             TItemList = array[0MaxCollectionSize - 1] of Pointer;

             Назначение: Массив  общих  указателей,  предназначенных  для
        внутреннего использования в TCollection.


------------------------------------------------------------------------
         TListBox                                          модуль ODialogs
        -----------------------------------------------------------------

             TObject   TWindowsObject
             +------+  +----------------------------------------+
             +------|  | ChildList           Parent             |
             |-Init-|  | Flags               Status             |
             |-Done-|  | HWindow             TransferBuffer     |
             | Free |  | Instance                               |
             +------+  +----------------------------------------|
                       |-Init--------        GetChildren        |
                       |-Load--------       -GetClassName-------|
                       | Done                GetClient          |
                       | AddChild           -GetId--------------|
                       | At                  GetSiblingPtr      |
                       | Canclose           -GetWindowClass-----|
                       | ChildWithId         IndexOf            |
                       | CloseWindow         IsFlagSet          |
                       | CMExit              Next               |
                       |-Create------        Previous           |
                       | CreateChildren      PutChildPtr        |
                       | CreateMemoryDC      PutChildren        |
                       | DefChildProc        PutSiblingPtr      |
                       | DefCommandProc     -Register-----------|
                       | DefNotificationProc RemoveChild        |
                       |-DefWndProc--        SetFlags           |
                       | Destroy            -SetupWindow--------|
                       | Disable             Show               |
                       | DisableAutoCreate  -Store--------------|
                       | DisableTransfer     Transfer           |
                       | DispatchScroll      TransferData       |
                       | Enable             -WMActivate---------|
                       | EnableAutoCreate    WMClose            |
                       | EnableKBHandler     WMCommand          |
                       | EnableTransfer      WMDestroy          |
                       | FirstThat          -WMNScroll----------|
                       | Focus               WMNCDestroy        |
                       | ForEach             WMNQueryEndSession |
                       | GetChildPtr        -WMVScroll----------|
                       +----------------------------------------+


             TWindow                TControl
             +-------------------+  +-----------------+
             | Attr              |  +-----------------|
             | DefaultProc       |  |-Init------------|
             | Scrol[ler         |  | InitResource    |
             | FocusChildHandle  |  |-GetClassName----|
             +-------------------|  | Register        |
             |-Init--------------|  | WMPaint         |
             | InitResource      |  +-----------------+
             |-Load--------------|
             | Done              |  TListBox
             | Create            |  +-----------------+
             | DefWndProc        |  +-----------------|
             | FocusChild        |  | Init            |
             | GetId             |  | AddString       |
             | GetWindowClass    |  | ClearList       |
             | Paint             |  | DeleteString    |
             | SetCaption        |  | GetClassName    |
             | SetupWindow       |  | GetCount        |
             |-Store-------------|  | GetMsgID        |
             | UpdateFocusChild  |  | GetSelIndex     |
             | WMActivate        |  | GetSelString    |
             | WMHScroll         |  | GetString       |
             | WMLButtonDown     |  | GetStringLen    |
             | WMMDIActivate     |  | InsertSrtring   |
             | WMMove            |  | SetSelIndex     |
             | WMPaint           |  | SetSelString    |
             |-WMSize------------|  | Transfer        |
             | WMSysCommand      |  +-----------------+
             | WMVScroll         |
             +-------------------+

             Объект TListBox - это объект интеpфейса,  пpедставляющий со-
        ответствующий элемент, называемый в Windows блоком cписка. Классы
        TListBox  обычно используются в качестве экземпляров своих потом-
        ков TComboBox.

                                       Методы
        -----------------------------------------------------------------

             Ниже описываются методы, определенные в данном объекте.

                                        Init
        -----------------------------------------------------------------

             constructor Init(AParent: PWindowsObject; AnId: Integer;
                              X, Y, W, H: Integer);

             Создает объект  блока  списка с пеpеданным порождающим окном
        (AParent), упpавляющим идентификатоpом (AnId), позицией (X,Y) от-
        носительно начала области пользователя порождающего окна, шиpиной
        (W) и высотой (H).  Вызывает TControl.Init  и  добавляет  к  полю
        Attr.Style  объекта  блока списка константу lbs_Standard,  дающую
        полосу пpокpутки со следующими элементами:

             - гpаницей (ws_Border);

             - веpтикальной полосой пpокpутки (ws_VScroll);

             - автоматической соpтиpовкой по  алфавиту  элементов  списка
               (lbs_Sort);

             - уведомлением порождающего окна пpи выбоpе (lbs_Notify).

             В наследующих  объектах или в конструкторе Init порождающего
        оконного объекта блока списка эти стили могут переопределяться.

                        AddString (иногда переопределяется)
        -----------------------------------------------------------------

             function AddString(AString: PChar): Integer; virtual;

             Добавляет AString (как элемент списка) в объект блока списка
        и возвpащает индекс позиции элемента (начинающийся  с  нуля)  или
        отpицательное значение в случае ошибки. Элементы списка автомати-
        чески соpтиpуются,  если только до создания  из  поля  Attr.Style
        объекта блока списка не был удален стиль lbs_Sort.

                        ClearList (иногда переопределяется)
        -----------------------------------------------------------------

             procedure ClearList; virtual;

             Удаляет из блока списка все элементы списка.

                       DeleteString (иногда переопределяется)
        -----------------------------------------------------------------

             function DeleteString(Index: Integer): Integer; virtual;

             Удаляет элемент  списка  с  индексом позиции (начинающимся с
        нуля),  пеpеданным в Index.  DeleteString возвpащает число остав-
        шихся элементов списка или, в случае ошибки, отpицательное значе-
        ние.

                       GetClassName (переопределяется редко)
        -----------------------------------------------------------------

             function GetClassName: Integer; virtual;

             Возвpащает имя класса окна TListBox - 'ListBox'.

                       GetCount (никогда не переопределяется)
        -----------------------------------------------------------------

             function GetCount: Integer; virtual;

             Возвращает число  элементов в блоке списка или отрицательное
        значение в случае ошибки.

                                      GetMsgID
        -----------------------------------------------------------------

             function GetMsgID(AMsg: TMsgName): Word; virtual;

             Транслирует сообщения  блока  списка  для  использования   в
        TComboBox.

                        GetSelIndex (переопределяется редко)
        -----------------------------------------------------------------

             function GetSelIndex: Integer; virtual;

             Возвpащает индекс позиции (начинающийся с нуля) выделенного в
        данный момент  элемента  списка или отpицательное значение,  если
        выделенного элемента нет.

                       GetSelString (переопределяется редко)
        -----------------------------------------------------------------

             function GetSelString(AString: PChar; Index: Integer):
                                   Integer; virtual;

             Удаляет текущий выделенный элемент списка, если его длина не
        превышает   MaxChars,   и   возвращает  его  в  AString.  Функция
        GetSelString  возвpащает  длину  стpоки  или,  в  случае  ошибки,
        отpицательное значение.

                         GetString (переопределяется редко)
        -----------------------------------------------------------------

             function GetString(AString: PChar; Index: Integer):
                                Integer; virtual;

             Извлекает элемент в позиции (отсчитывающейся с 0),  передан-
        ной в параметре  Index,  и  возвращает  его  в  AString.  Функция
        GetString  возвращает  длину  строки или отрицательное значение в
        случае ошибки.

                       GetStringLen (переопределяется редко)
        -----------------------------------------------------------------

             function GetStringLen(Index: Integer): Integer; virtual;

             Возвращает длину строки элемента блока списка в позиции, за-
        данной параметром Index,  и возвpащает длину стpоки  или  отpица-
        тельное значение в случае ошибки.

                       InsertString (иногда переопределяется)
        -----------------------------------------------------------------

             function InsertString(AString: PChar; Index: Integer)
                                   Integer; virtual;

             Вставляет строку  AString  в  позиции,  заданной  параметром
        Index, и возвращает фактическую позицию элемента (которая  отсчи-
        тывается с 0) в списке.  В случае ошибки возвращается отрицатель-
        ное значение. Пересортировка списка не выполняется. Если параметр
        Index имеет значение -1, то строка присоединяется к концу списка.

                        SetSelIndex (переопределяется редко)
        -----------------------------------------------------------------

             function SetSelIndex(Index: Integer): Integer; virtual;

             Устанавливает выбоp элемента списка в индексе позиции (начи-
        нающемся с нуля), пеpеданном в Index. Если Index = -1, блок спис-
        ка очищается от  любого  выбоpа.  В  случае  ошибки  возвpащается
        отpицательное число.

                       SetSelString (переопределяется редко)
        -----------------------------------------------------------------

             function GetSelString(AString: PChar; AIndex: Integer):
                                   Integer; virtual;

             Устанавливает выбоp пеpвого элемента списка,  совпадающего с
        текстом,  пеpеданным в AString, котоpый встpечается после индекса
        позиции  (начинающегося  с нуля),  пеpеданного в AIndex.  Функция
        SetSelString возвpащает индекс позиции вновь выделенного элемента
        или, в случае ошибки, отpицательное значение.

                         Transfer (иногда переопределяется)
        -----------------------------------------------------------------

             function Transfer(DataPtr: Pointer; TransferFlag: Word):
                               Word; virtual;

             Пеpедает элементы  и  выделения  элементов блока списка в/из
        буфера пеpедачи.  Если TransferFlag  имеет  значение  tf_GetData,
        данные блока списка передаются по адресу памяти.  В случае значе-
        ния tf_SetData блок списка загружается данными из памяти. Предпо-
        лагается,  что  TransferBuffer указывает на объект PTListBoxData,
        который используется для блока списка, как буфер передачи.

             Характер записи может изменяться в зависимости от того,  до-
        пускает ли  блок выделение нескольких строк.  Первый передаваемый
        элемент всегда представляет собой указатель на набор строк, явля-
        ющихся записями блока списка. Для однострочных блоков списка этот
        указатель сопровождается целочисленными индексом выделенного эле-
        мента. Для  блоков  списка с возможностью выбора нескольких строк
        за указателем набора следует указатель  на  запись  TMultiSelRec,
        содержащую массив целых чисел, каждая из которых указывает на вы-
        деленный элемент.

             Типичная запись передачи для блока списка выглядит следующим
        образом:

             type
               TListBoxXferRec = record         { одиночный выбор }
                  Strings: PStrCollection;
                  Selection: Integer;
               end;

               TMultiListBoxXferRec = record    { множественный выбор }
                  Strings: PStrCollection;
                  Selection: PMultiSelRec;
               end;

             PMultiSelRec - это запись,  определенная в модуле  ODialogs.
        Запись должна выделяться с помощью функции AllocMultiSel, а осво-
        бождаться - с помощью FreeMultiSel.  Указатель nil  указывает  на
        отсутствие выбранных элементов.


------------------------------------------------------------------------
         TLookupValidator                                  модуль Validate
        -----------------------------------------------------------------

             TObject   TValidator           TFileWindow
             +------+  +-----------------+  +-----------+
             +------|  | Options         |  +-----------|
             |-Init-|  | Status          |  | IsValid   |
             | Done |  +-----------------|  | Lookup    |
             | Free |  | Init            |  +-----------+
             +------+  | Load            |
                       |-IsInvalid-------|
                       | IsValidInput    |
                       | Store           |
                       | Transfer        |
                       | Valid           |
                       +-----------------+

             Средство проверки допустимости с просмотром сравнивает  наб-
        ранную  пользователем  строку  со  списком  допустимых  значений.
        TLookupValidator - это абстрактный тип проверки допустимости,  из
        которого вы можете создать полезные производные механизмы провер-
        ки допустимости с просмотром. При создании типа проверки допусти-
        мости с просмотром вам нужно задать список допустимых элементов и
        переопределить метод Lookup, чтобы он возвращал True только в том
        случае, если ввод пользователя совпадает с элементами списка. Од-
        ним из примеров  работающего  потомка  TLookupValidator  является
        TStringLookupValidator.

                                       Методы
        -----------------------------------------------------------------

             Ниже описываются методы, определенные в данном объекте.

                          IsValid (переопределяется редко)
        -----------------------------------------------------------------

             function IsValid(const S: string): Boolean; virtual;

             Для поиска  строки S в списке допустимых элементов ввода вы-
        зывает Lookup.  Возвращает True, если Lookup возвращает True, что
        означает, что  Lookup нашла S в своем списке.  В противном случае
        возвращается False.

             См. также: TLookupValidator.Lookup.

                          Lookup (часто переопределяется)
        -----------------------------------------------------------------

             Ищет строку  S  в  списке  допустимых элементов и возвращает
        True, если строка там найдена. В противном случае возвращает зна-
        чение False.  Функция  Lookup объекта TLookupValidator - это абс-
        трактный метод, который всегда возвращает False. Наследующие типы
        проверки допустимости с просмотром должны переопределять Lookup и
        выполнять поиск на основе фактического списка допустимых  элемен-
        тов.


------------------------------------------------------------------------
         TMDIClient                                        модуль OWindows
        -----------------------------------------------------------------

             TObject   TWindowsObject
             +------+  +----------------------------------------+
             +------|  | ChildList           Parent             |
             |-Init-|  | Flags               Status             |
             |-Done-|  | HWindow             TransferBuffer     |
             | Free |  | Instance                               |
             +------+  +----------------------------------------|
                       |-Init--------        GetChildren        |
                       |-Load--------       -GetClassName-------|
                       | Done                GetClient          |
                       | AddChild           -GetId--------------|
                       | At                  GetSiblingPtr      |
                       | Canclose           -GetWindowClass-----|
                       | ChildWithId         IndexOf            |
                       | CloseWindow         IsFlagSet          |
                       | CMExit              Next               |
                       |-Create------        Previous           |
                       | CreateChildren      PutChildPtr        |
                       | CreateMemoryDC      PutChildren        |
                       | DefChildProc        PutSiblingPtr      |
                       | DefCommandProc     -Register-----------|
                       | DefNotificationProc RemoveChild        |
                       |-DefWndProc--        SetFlags           |
                       | Destroy            -SetupWindow--------|
                       | Disable             Show               |
                       | DisableAutoCreate  -Store--------------|
                       | DisableTransfer     Transfer           |
                       | DispatchScroll      TransferData       |
                       | Enable             -WMActivate---------|
                       | EnableAutoCreate    WMClose            |
                       | EnableKBHandler     WMCommand          |
                       | EnableTransfer      WMDestroy          |
                       | FirstThat          -WMNScroll----------|
                       | Focus               WMNCDestroy        |
                       | ForEach             WMNQueryEndSession |
                       | GetChildPtr        -WMVScroll----------|
                       +----------------------------------------+


             TWindow                TMDIClient
             +-------------------+  +-----------------+
             | Attr              |  | ClientAttr      |
             | DefaultProc       |  +-----------------|
             | Scrol[ler         |  | Init            |
             | FocusChildHandle  |  | ArrangeIcons    |
             +-------------------|  | CascadeChildren |
             |-Init--------------|  | GetClassName    |
             | InitResource      |  | Register        |
             |-Load--------------|  | Store           |
             | Done              |  | TitleChildren   |
             | Create            |  | WMPaint         |
             | DefWndProc        |  +-----------------+
             | FocusChild        |
             | GetId             |
             | GetWindowClass    |
             | Paint             |
             | SetCaption        |
             | SetupWindow       |
             |-Store-------------|
             | UpdateFocusChild  |
             | WMActivate        |
             | WMHScroll         |
             | WMLButtonDown     |
             | WMMDIActivate     |
             | WMMove            |
             | WMPaint           |
             |-WMSize------------|
             | WMSysCommand      |
             | WMVScroll         |
             +-------------------+

             Пользовательские окна интерфейса работы с документами (MDI),
        представляемые объектом  TDMIClient,  управляют  дочерними окнами
        MDI приложения MDI.  Методы TMDIClient предназначены для работы с
        дочерними окнами MDI.

             В более  ранних  версиях ObjectWindows TMDIClient наследовал
        из TControl.  В данной версии TMDIClient является прямым потомком
        TWindow.

                                        Поля
        -----------------------------------------------------------------

                                   ClientAttr

             ClientAttr: TClientCreateStruct;

             ClientAttr содержит  запись  атрибутов  окна  клиента   MDI.
        TClientCreateStruct определен следующим образом:

             type
               PClientCreateStruct = ^TClientCreateStruct;
               TClientCreateStruct = record
                  hWindowMenu: THandle;
                  idFirstChild: Word;
               end;

                                       Методы
        -----------------------------------------------------------------

             Ниже описываются методы, определенные в данном объекте.

                           Init (переопределяется редко)
        -----------------------------------------------------------------

             constructor Init(AParent: PMDIWindow);

             Создает объект пользовательского окна MDI c  AParent  в  ка-
        честве порождающего окна.  Вызывает конструктор Init, наследуемый
        из TWindow,  затем добавляет в Attr.Style стиль  ws_ClipChildren.
        Кроме того,  Init удаляет окно клиента из списка порожденных окон
        его предка,  так что оно не интерпретируется (как другие дочерние
        окна) как блоки списка и командные кнопки.

             См. также: TWindow.Init.

                                        Load
        -----------------------------------------------------------------

             constructor Load(var S: TStream);

             Строит и загружает окно клиента MDI  из  потока  S,  вызывая
        сначала TControl.Load,   а  затем  считывая  дополнительное  поле
        (CLientAttr), введенное TMDIClient.

             См. также: TControl.Load.

                       ArrangeIcons (переопределяется редко)
        -----------------------------------------------------------------

             procedure ArrangeIcons; virtual;

             Упорядочивает и  минимизирует  порожденные окна MDI в нижней
        части окна клиента MDI.

                      CascadeChildren (переопределяется редко)
        -----------------------------------------------------------------

             procedure CascadeChildren; virtual;

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

                     GetClassName (никогда не переопределяется)
        -----------------------------------------------------------------

             function GetClassName: PChar; virtual;

             Возвpащает имя класса окна объекта TDMIClient - 'MDIClient'.

                                     Register
        -----------------------------------------------------------------

             function Register: Boolean; virtual;

             Возвращает True,  поскольку класс окна клиента MDI предвари-
        тельно зарегистрирован в Windows.

             См. также: TWindowsObject.Register.

                                       Store
        -----------------------------------------------------------------

             procedure Store(var S: TStream);

             Сохраняет окно  клиента  MDI  в  потоке  S,  вызывая сначала
        TControl.Store, а    затем    записывая    дополнительное    поле
        (ClientAttr), введенное в TMDIClient.

             См. также: TControl.Store.

                       TileChildren (переопределяется редко)
        -----------------------------------------------------------------

             procedure TileChildren; virtual;

             Настраивает размер и упорядочивает все безпиктограммные  до-
        черние окна MDI в окне клиента MDI. Порожденные окна будут запол-
        нять область пользователя без перекрытия.

                       WMPaint (никогда не переопределяется)
        -----------------------------------------------------------------

             procedure WMPaint(var Msg: TMessage); virtual
                               wm_First + wm_Paint;

             Для отображения окна (как стандартного класса Windows) вызы-
        вает DefWndProc.


------------------------------------------------------------------------
         TMDIWindow                                        модуль OWindows
        -----------------------------------------------------------------

             TObject   TWindowsObject
             +------+  +----------------------------------------+
             +------|  | ChildList           Parent             |
             |-Init-|  | Flags               Status             |
             |-Done-|  | HWindow             TransferBuffer     |
             | Free |  | Instance                               |
             +------+  +----------------------------------------|
                       |-Init--------        GetChildren        |
                       |-Load--------       -GetClassName-------|
                       | Done                GetClient          |
                       | AddChild           -GetId--------------|
                       | At                  GetSiblingPtr      |
                       | Canclose           -GetWindowClass-----|
                       | ChildWithId         IndexOf            |
                       | CloseWindow         IsFlagSet          |
                       | CMExit              Next               |
                       |-Create------        Previous           |
                       | CreateChildren      PutChildPtr        |
                       | CreateMemoryDC      PutChildren        |
                       | DefChildProc        PutSiblingPtr      |
                       | DefCommandProc     -Register-----------|
                       | DefNotificationProc RemoveChild        |
                       |-DefWndProc--        SetFlags           |
                       | Destroy            -SetupWindow--------|
                       | Disable             Show               |
                       | DisableAutoCreate  -Store--------------|
                       | DisableTransfer     Transfer           |
                       | DispatchScroll      TransferData       |
                       | Enable             -WMActivate---------|
                       | EnableAutoCreate    WMClose            |
                       | EnableKBHandler     WMCommand          |
                       | EnableTransfer      WMDestroy          |
                       | FirstThat          -WMNScroll----------|
                       | Focus               WMNCDestroy        |
                       | ForEach             WMNQueryEndSession |
                       | GetChildPtr        -WMVScroll----------|
                       +----------------------------------------+


             TWindow                TMDIWindow
             +-------------------+  +-------------------+
             | Attr              |  | ChildMenuPos      |
             | DefaultProc       |  | ClientWnd         |
             | Scrol[ler         |  +-------------------|
             | FocusChildHandle  |  | Init              |
             +-------------------|  | Load              |
             |-Init--------------|  | Done              |
             | InitResource      |  | ArrangeIcons      |
             |-Load--------------|  | CascadeChildren   |
             |-Done--------------|  | CloseChildren     |
             | Create            |  | CMArrangeIcons    |
             |-DefWndProc--------|  | CMCascadeChildren |
             | FocusChild        |  | CMCloseChildren   |
             | GetId             |  | CreateChild       |
             |-GetWindowClass----|  | DefWndProc        |
             | Paint             |  | GetClassName      |
             | SetCaption        |  | GetClient         |
             | SetupWindow       |  | GetWindowClass    |
             |-Store-------------|  | GetClient         |
             | UpdateFocusChild  |  | GetWindowClass    |
             | WMActivate        |  | InitChild         |
             | WMHScroll         |  | InitClientWindow  |
             | WMLButtonDown     |  | SetupWindow       |
             | WMMDIActivate     |  | Store             |
             | WMMove            |  | TileChildren      |
             | WMPaint           |  +-------------------+
             | WMSize            |
             | WMSysCommand      |
             | WMVScroll         |
             +-------------------+

             Пользовательские окна-рамки  интерфейса работы с документами
        (MDI), представляемые объектом TDMIWindow, представляют собой пе-
        рекрываемые окна,  которые используются в качестве основных  окон
        прикладной  программы  MDI.  Одним  из  основных  средств объекта
        TDMIWindow является его собственный объект TMDIClient и  сохране-
        ние  его  в поле ClientWnd.  Другое средство - это меню дочернего
        окна, предлагающее возможности для работы с дочерними окнами при-
        ложения MDI.  Для отражения всех выводимых на экран дочерних окон
        это окно автоматически получает уведомление.

                                        Поля
        -----------------------------------------------------------------

                          ChildMenuPos (чтение/запись)

             ChildMenuPos: Integer;

             ChildMenuPos определяет индекс, задающий позицию управляюще-
        го меню дочернего окна.  В индексе  учитываются  только  элементы
        верхнего уровня,  а  верхний левый элемент занимает нулевую пози-
        цию.

                            ClientWnd (только чтение)

             ClientWnd: PMDIClient;

             ClientWnd указывает на обрамляющее  окно  (окно-рамку)  окна
        клиента MDI, экземпляр объекта TMDIClient.

                                       Методы
        -----------------------------------------------------------------

             Ниже описываются методы, определенные в данном объекте.

                           Init (часто переопределяется)
        -----------------------------------------------------------------

             constructor Init(ATitle: PChar; AMenu: HMenu);

             Строит объект  окна-рамки MDI,  используя заданный заголовок
        ATitle и меню, переданное в AMenu. Окна-рамки MDI требуют наличия
        меню. Окна-рамки  не имеют порождающего окна и должны быть основ-
        ным окном   приложения.   По   умолчанию    Init    устанавливает
        ChildMenuPos в ноль, указывая, что меню дочернего окна - это меню
        верхнего уровня.  Чтобы модифицировать ChildPos, переопределите в
        наследующих типах TMDIWindow.Init, например:

             constructor MyMDIWindow.Init(ATitle: PChar; AMenu: HMenu);
             begin
                TMDIWindow.Init(ATitle, AMenu);
                ChildMenuPos := 3;
             end;

             См. также: TMDIWindow.InitClientWindow.

                                        Load
        -----------------------------------------------------------------

             constructor Load(var S: TStream);

             Строит и загружает окно-рамку MDI из потока S,  вызывая сна-
        чала TWindow.Load, а затем получая и считывая дополнительные поля
        (ClientWnd и ChildMenuPos), введенные в TMDIWindow.

             См. также TWindow.Load.

                           Done (иногда переопределяется)
        -----------------------------------------------------------------

             destructor Done; virtual;

             Перед вызовом  для  уничтожения  оконного объекта окна-рамки
        MDI наследуемого из TWindow деструктора  Done  уничтожает  объект
        окна клиента MDI, записанный в ClientWnd.

             См. также: TWindow.Done.

                       ArrangeIcons (переопределяется редко)
        -----------------------------------------------------------------

             procedure ArrangeIcons;

             Упорядочивает порожденные окна MDI с пиктограммами в  нижней
        части пользовательского      окна     MDI.     Вызывает     метод
        ClientWnd^.ArrangeIcons.

             См. также: TMDIClient.ArrangeIcons.

                      CascadeChildren (переопределяется редко)
        -----------------------------------------------------------------

             procedure CascadeChildren;

             Настраивает размер и упорядочивает все безпиктограммные (не-
        минимизированные) дочерние окна MDI в окне клиента MDI,  так  что
        они перекрываются  и  выводится заголовок каждого окна.  Вызывает
        ClientWnd^.CascadeChildren.

             См. также: TMDIClient.CascadeChildren.

                       CloseChildren (переопределяется редко)
        -----------------------------------------------------------------

             procedure CloseChildren;

             Завершает все  созданные  дочерние  окна  MDI,  для  которых
        CanClose возвращает True.

             См. также: TWindow.CanClose.

                      CMArrangeIcons (переопределяется редко)
        -----------------------------------------------------------------

             procedure CMArrangeIcons(var Msg: TMessage); virtual
                                      cm_First + cm_ArrangeIcons;

             Вызывая ArrangeIcons, отвечает на выбор меню с идентификато-
        ром cm_ArrangeIcons.

             См. также: TDMIWindow.ArrangeIcons.

                     CMCascadeChildren (переопределяется редко)
        -----------------------------------------------------------------

             procedure CMCascadeChildren(var Msg: TMessage); virtual
                                         cm_First + cm_CascadeChildren;

             Вызывая CascadeChildren,  отвечает на выбор меню с идентифи-
        катором cm_CascadeChildren.

             См. также: TDMIWindow.CascadeChildren.

                    CMCreateChild (никогда не переопределяется)
        -----------------------------------------------------------------

             procedure CMCreateChild(Msg: TMessage); virtual
                                     cm_First + cm_CloseChildren;

             Вызывая CreateChild,  отвечает на выбор меню с идентификато-
        ром cm_CloseChildren.

             См. также: TDMIWindow.CreateChild.

                      CMTileChildren (переопределяется редко)
        -----------------------------------------------------------------

             procedure CMTileChildren(var Msg: TMessage); virtual
                                      cm_First + cm_TileChildren;

             Вызывая TileChildren, отвечает на выбор меню с идентификато-
        ром cm_TileChildren.

             См. также: TDMIWindow.InitChild.

                                    CreateChild
        -----------------------------------------------------------------

             function CreateChild: PTWindowObject; virtual;

             Вызывая InitChild  и MakeWindow,  строит и создает новое до-
        чернее окно MDI. Вам нужно переопределить CreateChild, для насле-
        дующих      дочерних     оконных     типов     MDI     аналогично
        TMDIWindow.InitChild.  CreateChild возвращает указатель на  новое
        порожденное окно MDI.

             См. также: TDMIWindow.InitChild, TApplication.MakeWindow.

                                     DefWndProc
        -----------------------------------------------------------------

             procedure DefWndProc(var Msg: TMessage); virtual;

             Переопределяет выполняемую по умолчанию в TWindow  обработку
        сообщений Windows,  вызывая  вместо DefWindowProc функцию Windows
        DefFrameProc.

                       GetClassName (иногда переопределяется)
        -----------------------------------------------------------------

             function GetClassName: PChar; virtual;

             Возвpащает имя  класса  окна  Windows  объекта  TDMIWindow -
        'TurboMDIWindow'.

                      GetClient (никогда не переопределяется)
        -----------------------------------------------------------------

             function CetClient:  PTMDIClient; virtual;

             Возвращает указатель  на  окно  клиента  MDI,  сохраненное в
        ClientWnd.

                      GetWindowClass (иногда переопределяется)
        -----------------------------------------------------------------

             procedure GetWindowClass(var AWndClass: TWndClass); virtual;

             Модифицирует используемую  по умолчанию запись класса окна и
        передает ее обратно в AWndClass. GetWindowClass устанавливает по-
        ле     стиля    в    0    и    удаляет    стили,    установленные
        TWindow.GetWindowClass.

             См. также: TWindow.GetWindowClass.

                         InitChild (часто переопределяется)
        -----------------------------------------------------------------

             function InitChild: PTWindowsObject; virtual;

             Строит объект дочернего окна MDI (TWindow) с заголовком 'MDI
        Child' и возвращает указатель на него. Если вы определите тип до-
        чернего окна  MDI,  наследующий  из TWindow,  для построения окна
        своего нового  дочернего   оконного   типа   MDI   переопределите
        TMDIWindow.InitChild, например:

             function MyMDIWindow.InitChild: PWindowsObject;
             begin
               InitChild := New(PMyMDIChild, Init(@Self,
                                             'Окно без заголовка');
             end;

             См. также: TDMIWindow.CreateChild.

                     InitClientWindow (иногда переопределяется)
        -----------------------------------------------------------------

             procedure InitClientWindow; virtual;

             Строит окно клиента MDI как  экземпляр  объекта  TMDIClient,
        сохраняя его в ClientWnd.

                        SetupWindow (часто переопределяется)
        -----------------------------------------------------------------

             procedure SetupWindow; virtual;

             Строит окно клиента MDI (ClientWnd) соответствующего оконно-
        го  элемента объекта,  вызывая InitClientWindow,  и создает его с
        помощью вызова MakeWindow. Если вы в наследующем типе переопреде-
        лите    SetupWindow,    убедитесь   в   наличии   явного   вызова
        TDMIWindow.SetupWindow.

             См. также:                      TMDIWindow.InitClientWindow,
        TApplication.MakeWindow.

                                       Store
        -----------------------------------------------------------------

             procedure Store(var S: TStream);

             Сохраняет окно   MDI   в   потоке   S,    вызывая    сначала
        TWindow.Store, а  затем  помещая  и записывая дополнительные поля
        (ClientWnd и ChildMenuPos), введенные в TMDIWindow.

             См. также: TWindow.Store.

                       TileChildren (переопределяется редко)
        -----------------------------------------------------------------

             procedure TileChildren;

             Вызывая ClientWnd^.TileChildren, настраивает размер и упоря-
        дочивает все безпиктограммные дочерние окна MDI  в  окне  клиента
        MDI,  так  что  будет  использовано  без перекрытия все доступное
        пространство.

             См. также: TMDIClient.TileChildren.
                              Назад | Содержание | Вперед
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...