Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 14.05.2010, 16:06   #1
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
Вопрос Создание ещё одной формы

С помощью какой процедуры можно создать дополнительную форму при нажатии одной из кнопок на первой форме?
_-Re@l-_ вне форума
Старый 14.05.2010, 16:15   #2
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Как программно создать форму?
Например, в обработчике события OnClick для выбранной кнопки написать:
Код:
begin
Form2:= TForm2.Create(Application);
Form2.Caption:= 'Новое сообщение';
form2.Show;
end;
(но сначала Form2 нужно создать)
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab

Последний раз редактировалось ex.cluz; 14.05.2010 в 16:23.
ex.cluz вне форума
Старый 14.05.2010, 16:18   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

для начала File->New->Form
потом в первой форме на обработчике кнопки пишите Form2.Show(ShowModal)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 14.05.2010 в 16:21.
Пепел Феникса вне форума
Старый 14.05.2010, 17:07   #4
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

так лучше
Код:
Form2 := TForm2.Create(self);
  try
 Form2.ShowModal;
  finally
 Form2.Free;
  end;
Alter вне форума
Старый 14.05.2010, 19:18   #5
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

То есть, Alter, для твоего кода, Form2 может быть не создана первоначально? Она создастся при нажатии кнопки?
_-Re@l-_ вне форума
Старый 14.05.2010, 19:34   #6
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Вижу, что Alter вышел, поэтому возьму на себя смелость ответить за него.

Да. Первоначально можно форму не создавать.
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума
Старый 14.05.2010, 19:37   #7
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Хм. А что означает try, finally? Раньше не встречал просто(недавно перешёл на Delphi с Turbo Pascal)
_-Re@l-_ вне форума
Старый 14.05.2010, 19:42   #8
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Это означает, что код, помещенный между try и finally постарается выполниться, а если это не получиться, то в любом случае выполниться метод free и утечки памяти не произойдет.

19:43

Правильно это называется "обработка исключительных ситуаций"

У нас принято пользоваться кнопочкой "Правка", дабы не плодить посты подряд, друг за другом.
Читаем правила. Рекомендую. Помимо общих правил форума есть и дополнения к ним в каждом разделе...
Уважайте форумчан, и они ответят вам взаимностью...
Модератор
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab

Последний раз редактировалось mihali4; 15.05.2010 в 18:47.
ex.cluz вне форума
Старый 14.05.2010, 20:05   #9
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

А вот если при нажатии одной кнопки создаётся Form2, то как прописать все объекты, которые там будут?Ну, допустим, Button1, Button2, Label1, EditBox1?
_-Re@l-_ вне форума
Старый 14.05.2010, 20:10   #10
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Методом create, а в качестве родителя ставить Form2.
При этом проперти компонентов придется прописывать самому (если они отличаются от дефолтных).

Поэтому если на вызываемой форме много элементов, то проще ее создать в дизайнере, напихать туда контролов, а потом показывать ее (show или showmodal).

А еще лучше - скажите для каких целей все это вам надо. Если для чисто познавательных - лучше книги почитать.
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab

Последний раз редактировалось ex.cluz; 14.05.2010 в 20:12.
ex.cluz вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переход из одной формы в другую Axlen Microsoft Office Access 2 22.04.2010 07:40
ввод текста из одной формы в другие andrey0701 Microsoft Office Word 15 26.10.2009 10:53
delphi вызов одной формы из другой hi-end1 Помощь студентам 4 17.10.2009 19:53
DblClick запуск ещё одной формы по параметру sali Microsoft Office Access 1 04.06.2009 16:52
как перейти из одной формы в другую lusek Общие вопросы Delphi 7 01.02.2009 14:16