Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.02.2013, 08:44
Аватар для alexusankov
alexusankov alexusankov вне форума
Новичок
 
Регистрация: 27.08.2012
Сообщения: 78
Версия Delphi: C++/Delphi 2010
Репутация: 10
По умолчанию Delphi MDI - показ дочерней формы

Доброе утро.
Появилась потребность писать программу используя Delphi 2006 и MDi формы.
Однако загуглив , я поразился, - неужели нет какого либо адекватного способа, спрятать все формы и показывать по клику?
Например у меня есть родительская форма Main, и дочерняя Form1. Дочерняя форма убрана из автосоздания.
Как по клику мне ее показать?)
Поделитесь кодом, пожалуйста
Ответить с цитированием
  #2  
Старый 11.02.2013, 08:55
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Заходишь в dpr и удаляешь application.fomrcreate(form2...
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 11.02.2013, 09:16
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
Радость

по клику куда?
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #4  
Старый 11.02.2013, 09:40
Аватар для alexusankov
alexusankov alexusankov вне форума
Новичок
 
Регистрация: 27.08.2012
Сообщения: 78
Версия Delphi: C++/Delphi 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Заходишь в dpr и удаляешь application.fomrcreate(form2...
Есть родительское окно. Есть форма. В свойстве формы установлено, что форма дочерняя. В FormStyle.
В Project -> Options дочерняя форма убрала вправо, чтобы сама не содавалась.
На основной форме есть Кнопка.
1. Как по клику на кнопку показать форму?
2. Как сделать, чтобы при закрытии формы она не сворачивалась, а закрывалась?
Заранее, спасибо

Последний раз редактировалось alexusankov, 11.02.2013 в 09:48.
Ответить с цитированием
  #5  
Старый 11.02.2013, 09:54
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

например так
Код:
Procedure TMainForm.Button1Click(Sender:TObject);
var
  Form1:TForm1;// именно локальная переменная
begin
  Form1:=TForm1.Create(nil);
  try
    /*здесь можно поставить код, 
       который может дополнительно заполнять форму*/
    Form1.Edit1.Text:='Привет';

    Form1.ShowModal();// собственно показываем
    /*здесь можно поставить код, 
       который считывает с формы что-нибудь*/
    if Form1.ModalResult = mrOk then
      Caption := Form1.Edit1.Text;

  finally
    Form1.Free; // если больше не нужна - удаляем
  end;
end;
Ответить с цитированием
  #6  
Старый 11.02.2013, 09:57
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Код:
form2clode(sender...
begin
  action := cafree;
вроде как-то так
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #7  
Старый 11.02.2013, 10:15
Аватар для alexusankov
alexusankov alexusankov вне форума
Новичок
 
Регистрация: 27.08.2012
Сообщения: 78
Версия Delphi: C++/Delphi 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от icWasya
например так
Код:
Procedure TMainForm.Button1Click(Sender:TObject);
var
  Form1:TForm1;// именно локальная переменная
begin
  Form1:=TForm1.Create(nil);
  try
    /*здесь можно поставить код, 
       который может дополнительно заполнять форму*/
    Form1.Edit1.Text:='Привет';

    Form1.ShowModal();// собственно показываем
    /*здесь можно поставить код, 
       который считывает с формы что-нибудь*/
    if Form1.ModalResult = mrOk then
      Caption := Form1.Edit1.Text;

  finally
    Form1.Free; // если больше не нужна - удаляем
  end;
end;
Нужно вывести ее как форму в форме. Это же MDI приложение, и у form2 в свойстве formstyle указано, что она дочерняя форма. ChildForm

Ну представьте себе, что у вас есть MDI прилолжение и в нем 12 отрисованных и готовых форм с добавленными кнопками, и прочими элементами. При открытии основной формы, форма открывает все свои дочерние окна. Как сделать по кнопке на окно, чтобы именно при клике на первую кнопку, открылась 1 форма итп.
Может я неправильно вопрос формулирую?

Последний раз редактировалось alexusankov, 11.02.2013 в 10:23.
Ответить с цитированием
  #8  
Старый 11.02.2013, 10:24
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

"c:\Program Files\Borland\Delphi7\Demos\Doc\TextEdit"
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #9  
Старый 11.02.2013, 10:30
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Цитата:
Сообщение от alexusankov
Как сделать по кнопке на окно, чтобы именно при клике на первую кнопку, открылась 1 форма итп.

Ничего не понял.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #10  
Старый 11.02.2013, 10:31
Аватар для alexusankov
alexusankov alexusankov вне форума
Новичок
 
Регистрация: 27.08.2012
Сообщения: 78
Версия Delphi: C++/Delphi 2010
Репутация: 10
По умолчанию

У меня в turbo delphi нет такого примера.
При создании MDi приложения - создается текстовый редактор.
В нем динамически создается форма. Типа как в ворде.
А у меня готовые формы дочерние уже есть, их скрыть / закрыть / показать надобно.
*******
Ну вот смотри. Есть DMI форма. Основная. Есть еще 1 форма, например form2. Есть кнопка.
При запуске приложения, в основной форме сразу покажется и form2.
Мне нужно чтобы form2 показывался только при клике на button1
Ответить с цитированием
  #11  
Старый 11.02.2013, 10:50
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

http://zalil.ru/34250008
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #12  
Старый 11.02.2013, 10:55
Аватар для alexusankov
alexusankov alexusankov вне форума
Новичок
 
Регистрация: 27.08.2012
Сообщения: 78
Версия Delphi: C++/Delphi 2010
Репутация: 10
По умолчанию

Сделал так :
1. Сначала убрал из dpr строку где было application.fomrcreate
2.Потом в нужном баттон.клике написал
var frm: TForm2;
begin
frm:=TForm2.Create(self);
frm.Show;
end;
Вроде работает

Еще 1 вопрос товарищи, более пространный и глобальный.
Программа нужна для хранения и обработки данных. Данные должны храниться в 7 таблицах. Данные будут вносится в таблицы с первой формы. В остальных формах - данные должны браться из таблицы и выводиться на форму.
1.С помощью чего, проще всего реализовать хранение и запись данных? Есть готовый MySQL на freeBSD с phpmyadmin. Трудно ли будет работать с SQl?
2. С помощью чего проще будет эти данные отображать на форме? Ну, имею ввижу есть ли какие либо готовые таблицы, с которыми не очень трудно работать.
Просто думаю куда идти и какие доки читать, по каким компонентам итп.

Последний раз редактировалось M.A.D.M.A.N., 11.02.2013 в 11:50. Причина: Объединил сообщения
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:46.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter