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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2009, 12:32   #1
AXEnic
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 12
По умолчанию две формы в одном приложении..

Здравствуйте, у меня тут небольшая проблемка образовалась...
Подскажите плиз как связать две формы в одном приложении, чтоб например при запуске программы открылась форма, а потом при нажатии например на кнопку открылась вторая форма (например для настройки чего либо..) ?
AXEnic вне форума Ответить с цитированием
Старый 22.04.2009, 12:37   #2
ArtInt
Форумчанин
 
Аватар для ArtInt
 
Регистрация: 06.03.2009
Сообщений: 583
По умолчанию

есть главная форма Form1 (например) делаешь на ней кнопку, в OnClick прописываешь Form2.ShowModal; (то есть выводишь модальную форму, на которой делаешь кнопку для ее закрытия Form2.close)
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
ArtInt вне форума Ответить с цитированием
Старый 22.04.2009, 14:34   #3
AXEnic
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 12
По умолчанию

Цитата:
Сообщение от ArtInt Посмотреть сообщение
есть главная форма Form1 (например) делаешь на ней кнопку, в OnClick прописываешь Form2.ShowModal; (то есть выводишь модальную форму, на которой делаешь кнопку для ее закрытия Form2.close)
но в Form2.ShowModal это же функция? может я что-то не правильно понял.. не мог бы поконкретней объяснить?
AXEnic вне форума Ответить с цитированием
Старый 22.04.2009, 14:41   #4
ArtInt
Форумчанин
 
Аватар для ArtInt
 
Регистрация: 06.03.2009
Сообщений: 583
По умолчанию

Вот исходник там все как по вопросу. Я правильно понял вопрос?
Вложения
Тип файла: rar Две формы в одном приложении.rar (55.1 Кб, 25 просмотров)
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
ArtInt вне форума Ответить с цитированием
Старый 22.04.2009, 14:44   #5
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Имелось в виду, что вторую форму надо создать тоже при разработке приложения. Это делается с помощью меню: File->New->Form.
Именно эту форму и будет вызывать функция Form2.ShowModal;
Чтобы закрыть эту форму (спрятать, на самом деле) к событию OnClick кнопки на второй форме привязывается процедура, где и пишется Form2.Hide;
Скандербег вне форума Ответить с цитированием
Старый 22.04.2009, 15:03   #6
AXEnic
Пользователь
 
Регистрация: 15.03.2009
Сообщений: 12
По умолчанию

Цитата:
Сообщение от ArtInt Посмотреть сообщение
Вот исходник там все как по вопросу. Я правильно понял вопрос?
да, правильно. спасибо!
AXEnic вне форума Ответить с цитированием
Старый 22.04.2009, 16:52   #7
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

При ShowModal доступ к главной форме запрещается(то есть при клике на ней ничего не происходит)
Чтобы был доступ и к главной форме и к другой тоже, то надо использовать процедуру Show:
Код:
 Form2.Show;
А ShowModal возвращает значение равное нажатой кнопке на вызванной форме. Например вы создаете на форме настроек TBitBtn, свойству ModalResult присваиваете mrOK, на главной форме создаете кнопку и при клике пишете:

Код:
 if Form2.ShowModal = mrOk then
 begin
   {что то сделать}
 begin
И самое главное: при клике на кнопку ОК(расположенную на форме настроек и имеющую ModalResult=mrOk) не надо писать:
Код:
 Close;
Форма сама закроется и без этого, а если вы это напишете, то будет ошибка(которую, в свое время, я очень долго находил)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закрытие формы MDIChild в MDI приложении Avalonix Общие вопросы Delphi 4 29.05.2008 16:45
две формы Form1 и Form2 Михаил Юрьевич Общие вопросы Delphi 11 02.03.2008 19:38
Как использовать две формы в одном приложении SeRhy Общие вопросы Delphi 6 23.01.2008 21:42
Всегда позади и всегда впереди в одном приложении Legat Win Api 4 27.10.2007 15:48