Московский государственный университет имени М.В.Ломоносова
Опубликован: 01.11.2004 | Доступ: свободный | Студентов: 10561 / 332 | Оценка: 4.12 / 4.01 | Длительность: 19:18:00
ISBN: 978-5-9556-0077-9
Специальности: Программист
Лекция 24:

Библиотека классов VCL среды проектирования Delphi

< Лекция 23 || Лекция 24: 1234 || Лекция 25 >

Класс TForm

TForm является базовым классом для создания окна формы.

По умолчанию каждая новая создаваемая форма реализуется как потомок класса TForm. Форма может быть:

  • главным окном приложения;
  • диалоговым окном;
  • дочерним окном MDI-окна.

Класс предоставляет большой набор свойств, включая следующие:

  • Active - определяет, является ли форма активной.
  • ActiveControl - определяет элемент управления формы, имеющий фокус ввода.

    Например:

    if ActiveControl <> nil then
        ActiveControl.Left := ActiveControl.Left + 1;
    end;
  • ActiveMDIChild - определяет активное дочернее окно MDI-приложения;
  • BorderStyle - определяет внешний вид и поведение рамки окна формы;
  • FormStyle - определяет стиль формы, который указывается одним из следующих значений:
    • fsNormal - форма определена как простая SDI-форма и не является ни дочерним, ни родительским MDI-окном;
    • fsMDIChild - форма является дочерним MDI-окном.
    • fsMDIForm - форма является родительским MDI-окном.
    • fsStayOnTop - для формы определено поведение "всегда сверху" (она остается сверху всех других форм проекта, для которых не установлен стиль fsStayOnTop).
  • HelpFile - указывает имя файла, используемого для отображения справки.
  • Icon - определяет пиктограмму, отображаемую в заголовке окна формы.
  • MDIChildCount - определяет количество открытых дочерних MDI-форм.
  • MDIChildren - содержит список всех дочерних MDI-форм.

    Например:

    {Закрытие всех дочерних MDI-форм}
    var   Index1: Integer;
    begin
      with MyForm1 do
        for I := MDIChildCount-1 downto 0 do
          MDIChildren[Index1].Close;
    end;
  • Menu - определяет главное меню.
  • Parent - определяет родительское окно. Если форма не имеет родителя, то значение свойства Parent равно nil.
  • Position - указывает размер и позицию, используемые для первоначального отображения формы.
  • WindowState - определяет, в каком виде форма появляется на экране: свернутой, полноэкранной или в нормальном представлении.

Класс формы предоставляет большой набор методов, включая следующие:

  • Cascade - упорядочивает все дочерние MDI-формы, располагая их каскадом.
  • Next - делает активной следующую дочернюю форму (в той последовательности, как они были открыты).
  • Previous - делает активной предыдущую дочернюю форму.
  • Tile - упорядочивает все дочерние MDI-формы таким образом, чтобы они все имели одинаковый размер и умещались одновременно в клиентской области родительского окна.

Например:

{Обработчик события для команды меню Windows | Tile}
procedure TForm1.TileFormsClick(Sender: TObject);
begin
  this.TileMode := tbVertical;  
  this.Tile;
end;

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

Класс TMainMenu

Класс TMainMenu инкапсулирует поведение линейки меню (menu bar) и соответствующих ниспадающих меню (drop-down menus) для окна формы.

Этот класс определяет свойства и методы, позволяющие соединять ниспадающие меню главного меню с главными меню других форм и помогающие взаимодействовать с меню для OLE-объектов.

Процесс создания меню формы очень прост. Он состоит из трех этапов:

  1. добавления в форму компонента класса TMainMenu ;
  2. выполнения на нем двойного щелчка мышью и ввода в открытое далее окно заголовков всех пунктов линейки меню и пунктов ниспадающих меню;
  3. определения кода обработчиков событий для каждого пункта меню.

Если требуется синхронизировать код, выполняемый для пункта меню, с кодом, выполняемым для кнопки на панели управления, то создается объект "действие типа Taction", который указывается и для пункта меню, и для кнопки.

Класс предоставляет набор свойств, включая следующие:

  • AutoMerge - определяет возможность слияния меню. Каким образом меню будут объединяться, зависит от значения свойства GroupIndex каждого отдельного пункта меню;
  • Handle - обеспечивает доступ к дескриптору меню. Это свойство используется для функций Windows API, требующих дескриптора меню.
< Лекция 23 || Лекция 24: 1234 || Лекция 25 >
Александр Демьяненко
Александр Демьяненко

Можно ли сдавать один и тот же тест несколько раз?
Или же один и тот же тест можно сдать лишь однажды?

Максим Стогний
Максим Стогний

Добрый день!

Скажите, пожалуйста, если в терминологии объектно-ориентированного программирования функции также называются методами или методами - членами класса, в примере объявления указателя на метод использовали в формальном описании оба названия:

тип_метода (имя_класса::*имя_метода_указателя)
    (список параметров);
тип_функции (*имя_ функции_указателя)
    (список параметров);

при этом можно было  тип_функции во втором описании заменить на тип_метода? Т.е.:

тип_метода (*имя_ метода_указателя)
    (список параметров);

Евгений Шаров
Евгений Шаров
Россия, Североморск, школа№11, 1991
Артем Хмелев
Артем Хмелев
Россия, 5