![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.06.2007
Сообщений: 10
|
![]()
Здравствуйте.
Подскажите пожалуйста как при нажатии на кнопку открывалась бы нужная мне форма. |
![]() |
![]() |
![]() |
#2 |
Delphi/C++/Asm
Форумчанин Подтвердите свой е-майл
Регистрация: 28.03.2008
Сообщений: 358
|
![]() Код:
Код:
Последний раз редактировалось AngelOfDeath; 06.05.2008 в 14:03. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 10.06.2007
Сообщений: 10
|
![]()
наверно я не совсем правильно объяснил, чё то у меня ошибка какая-то
нужно чтобы при нажатии команды в меню открывалась форма в этом же окне (помоему называется дочерняя) в данном случае должна открыться форма unit2 |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 226
|
![]()
ты читал Книгу М. Фленова там очень хорошо обьясняется
Создай новое приложение. Сохрани окно под именем MainModule, а проект под именем mdi. Теперь измени свойство mStyle у формы на fsMDIForm. Теперь создай ещё одно окно (дай ему имя ChildForm) и измени у него свойство mStyle у формы на fsMDIChild. Вот и всё. Никакого геморроя, а MDI программа уже готова. Можешь запустить и ть, как она работает. В нашем случае программа запускается и сразу создаётся дочернее окно. Как убрать его и создавать в рантайме (во время выполнения программы)? Очень просто выбери пункт меню «Options» из меню «Project» и ты увидишь следующее окно, показанное на рисунке выше. В левой части окна перечислены те формы, которые будут создаваться автоматически (Auto-create forms). Выдели тут ChildForm (наше дочернее окно) и перемести его в список Available forms, нажав кнопку . Теперь наша дочерняя форма не будет создаваться автоматически, и это придётся делать вручную. Ну, ничего, это не такая уж и проблема, как-нибудь справимся и победим эту проблему. Брось на форму панельку и растяни её по верхнему краю окна (свойство Align надо установить в alTop). Теперь на панель бросим кнопку и дадим ей заголовок «Создать». По нажатию этой кнопки мы будем вручную создавать окно procedure TMainForm.CreateButtonClick(Sender: TObject); begin ChildForm:= TChildForm.Create(Owner); end; Здесь я переменной ChildForm присваиваю указатель на новое созданное окно TChildForm.Create. Переменная ChildForm объявлена в модуле дочернего окна в разделе vаr: var ChildForm: TChildForm; Теперь запусти программу и попробуй несколько раз нажать на кнопку «Создать». У тебя должно создаться сразу несколько дочерних окон: |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Открытие файла | Messir_Leonard | Win Api | 2 | 09.04.2008 19:33 |
Открытие новой формы в VB | byte916 | Помощь студентам | 1 | 04.03.2008 19:10 |
Открытие файла | Veiron | Общие вопросы Delphi | 2 | 27.02.2008 03:12 |
Открытие окон | Pekc | JavaScript, Ajax | 3 | 25.11.2007 19:56 |
как перехватить открытие чужого приложенияпытаюсь перехватить открытие любого приложе | rpy3uH | Win Api | 2 | 02.12.2006 12:12 |