|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
MDI интерфейс и с чем его едят?
Ребят, помогите разобраться. Необходимо написать программку работающую на основе MDI интерфейса, нашел статью, все делаю по инструкции, но дохожу до вот этого места
Код:
Создание и отображение Как упомянуто выше, настройка не позволяет автоматически создавать дочерние окна, поэтому нам необходимо добавить некоторый код, который будет производить создание объекта формы frChild. Следующую функцию CreateChildForm необходимо поместить внутри основной формы (MDI родитель) (наряду с заголовком в interface's private): uses uchild; ... procedure TfrMain.CreateChildForm(const childName : string); var Child: TfrChild; begin Child := TfrChild.Create(Application); Child.Caption := childName; end; и постоянно выдает ошибку, просьба помочь разобраться или дать ссылку на подробное описание. Заранее благодарен. Последний раз редактировалось Admin, 05.08.2009 в 12:23. |
#2
|
|||
|
|||
Какую ошибку-то выдает??? Компилятор или во время выполнения?
Тут телепатов нету. Давай более подробную информацию. |
#3
|
|||
|
|||
вот код моих файлов:
uMain.pas Цитата:
uchild.pas Цитата:
ошибки Цитата:
|
#4
|
|||
|
|||
О, Господи!!! Естественно, компилятор дает тебе ошибки. Кто же пишет реализацию метода в описании класса? Это тебе не С++ и inline-методами... Поменяй вот так:
Код:
unit uMain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uchild; type TfrMain = class(TForm) private { Private declarations } procedure CreateChildForm(const childName : string); public { Public declarations } end; var frMain: TfrMain; implementation {$R *.dfm} procedure TfrMain.CreateChildForm(const childName : string); var Child: TfrChild; begin Child := TfrChild.Create(Application); Child.Caption := childName; end; end. |
#5
|
|||
|
|||
спасибо огромное, пошел разбираться дальше
|
#6
|
|||
|
|||
новые проблемы:
1. при отображении дочерней формы, не могу изменить ее размеры 2. в м атеринской форме присутствует меню, при разворачивании дочерней формы кнопки управления последней "прячутся" под меню, но работают 3. не могу добиться чтобы дочернее окно занимало всю свободную область материнского окна Заранее спасибо за помощь ЗЫ. дочерние формы отображаю так: Цитата:
|
#7
|
|||
|
|||
1. Указатель на активную форму можно получить так: frmMain.ActiveMDIChild и дальше делать с ней что угодно.
2, 3. Не понял )) |
#8
|
|||
|
|||
2. Это так делается на уровне Винды. Просто прими как данность. Особенности MDI-интерфейса.
3. Ну максимизируй ее. Если не ошибаюсь, достаточно установаит WindowState. |