В Делфи существует два подхода к созданию MDI приложений - первый - посредством шаблонов, второй - с нуля и своими ручонками =) Если вы лентяй и у вас стоит Borland Delphi 5 или выше, вы можете воспользоваться первым подходом. Вот как это можно сделать - запустите делфи, создайте "свежий проект", выбрав в меню File | New | Other, затем выберите в появившемся окне вкладку Projects и в ней MDI Application. В результате у вас появится готовый проект - шаблон, единственное, что для вас остается - немного пофантазировать и добавить необходимый вам код.
Второй путь более трудоемкий. Вначале вы должны спроектировать главную форму. Делаете это, как если бы вы делали обычный проект, обычное приложение. Сохраняете, запускаете и пока что все. Главное условие, чтобы на форме было свободное место, место для дочерних окон, поэтому на форму обычно перекидывают из видимых компонентов только три (обязательных) : TMainMenu, TToolBar и TStatusBar. Далее - самое интересное. Изменим свойство FormStyle главного окна на fsMDIForm и создадим одну кнопку в компоненте TToolBar (для открытия дочерних окон) . На этом работа с главным окном временно закончена. Теперь создадим новый unit с новой формой и свяжем его с нашим проектом (прописав Uses unit2 к примеру) . Для вновь созданной формы изменим свойство FormStyle на fsMDIChild и обязательно опишем для нее событие OnClose:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
Это необходимо для того, чтобы наша дочерняя форма исчезала при закрытии, иначе она просто свернется и ее снова можно будет восстановить (она закроется только при закрытии всего приложения) . Работа со второй формой завершена, возвращаемся к первой (в исходном проекте) . Итак, все, что нам осталось здесь сделать - описать событие OnClick для кнопки TToolButton, которую мы создали на компоненте TToolBar:
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
TForm2.Create(application);
end;
Обязательно пишите перед именем дочерней формы букву "Т" (TForm2), иначе получите ошибку при нажатии на кнопку. Теперь наше простое MDI приложение готово - сохраняйтесь, компилируйте и запускайте приложение.
Другие языки программирования и технологии
Delphi. Как сделать так, чтобы в моей программе окошки появлялись внутри главной формы (Как в 1С) ?
внутри главной формы:
1. Окно не выходит за пределы формы. . Обработай OnMove сравнивай позиции главной и текущей. .
2. Посмотри технологию Drag&Dock
1. Окно не выходит за пределы формы. . Обработай OnMove сравнивай позиции главной и текущей. .
2. Посмотри технологию Drag&Dock
мышкой их подвинь там где хочешь чтоб они появлялись и скопилируй exe заново
так же в инспекторе объектов есть параметры где будет появляться окно
так же в инспекторе объектов есть параметры где будет появляться окно
Похожие вопросы
- Помогите! DELPHI как сделать Двигающюся Форму при BorderStyle := bsNone?
- Кто знает язык delphi, нужно пояснить что означает каждая строчка программы
- Какую программу лучше выбрать для работы небольшого магазина, подобную 1С но бесплатную и простую?
- Объясните задачу Delphi. Задача сделана только код я не понимаю!!!!
- Delphi как сделать ввод только чисел с точкой ?
- мне нужно сделать видео с эффектами, посоветуйте программу
- Программа паскаль, код внутри.
- как сделать так чтобы два блока программы выполнялись одновременно в c++ ?
- Как сделать так что бы моя программа могла не только открывать *.txt файлы, но (к примеру) и *.pdf и *.doc и. т. п.!!! а
- Помогите, открыл .vbs файл и у меня теперь не открываються программы, любые! код внутри.