Отправляет email-рассылки с помощью сервиса Sendsay

Delphi. Уроки

  Все выпуски  

Delphi. Уроки


Информационный Канал Subscribe.Ru

Уроки по Delphi. Рассылки сайта progs.biz
Выпуск № 44
 
Начало > Delphi > VCL > Урок 43

Михаил Фленов. Библия Delphi.
Михаил Фленов. Библия Delphi
Заказать на Озоне

Подробнее


Полные версии уроков (с картинками): урок 43.

Delphi. VCL
Урок 43. Создание многодокументного (MDI) интерфейса

Многодокументный (MDI) интрефейс - это когда главное окно вашей программы содержит внутри себя несколько дочерних окон. Типичный пример - это Visual Studio от Microsoft или Word прежних версий.

Рассмотрим, как это делается. Создайте простое приложение на Delphi. У появившейся главной формы приложения установите значение свойства FormStyle в fsMDIForm.

Добавьте в проект еще одну форму. Для этого нажмите на кнопку New Form на панели инструментов View.

Для добавленной формы установите значение этого же свойства FormStyle в fsMDIChild.

Собственно говоря, это все. Можно запускать программу - вы должны увидеть одну форму внутри другого окна.

Обратите внимание, что у родительской формы содержимое как-бы утоплено и что дочернюю форму можно двигать только внутри родительской.

Сейчас у нас дочернее окно показывается сразу после запуска нашей программы. Посмотрим, как можно от этого избавится. Для этого вызываем окно настроек проекта (меню Project -> Options) и там на вкладке Forms перекидываем нашу вторую форму Form2 из левой части (которая содержит все формы, создаваемые при запуске приложения) в правую.

Теперь при запуске нашей программы дочерняя форма автоматически создаваться не будет. Это значит, что нам надо написать самим код, который будет ее создавать (например, по выбору пункта меню).

Для этого добавьте в нашу программу главное меню, в котором создайте пункт Form и у него подпункт Add (см. урок 16). В обработчике для данного подпункта напишите следующий код:

procedure TForm1.Add1Click(Sender: TObject);
begin
  MDIChildForm := TForm2.Create(Owner);
end;

Разумеется, переменная MDIChildForm типа TForm2 должна быть объявлена (в классе главной формы):

...
var
  ...
  MDIChildForm: TForm2;

Кроме того, надо в секции uses класса главной формы добавить ссылку на Unit2:

uses
  ...
  Dialogs, Menus, Unit2;

Теперь каждый раз при выборе пункта меню Add у формы будет создаваться дочернее окно.

Рассылки сайта progs.biz
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2005 сайт progs.biz
© 2002-2005 Алексеев Игорь

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphilessons
Отписаться

В избранное