Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Создание окна в окне  (Прочитано 10011 раз)
0 Пользователей и 5 Гостей смотрят эту тему.
Anonymous
Гость
« : 10-06-2004 20:23 » 

Задача следующая: нужно в одном главном окне сделать открывающиеся окна, что-то наподобие Database Desktop, когда есть главное меню, а внизу открываются различные окна?
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #1 : 11-06-2004 11:33 » 

это называется MDI (Multi Document Interface).

в главной форме ставишь FormStyle = fsMDIForm;

создаёшь одну дочернуюю форму и убираешь её из списка автосоздаваемых (меню Project/Options/Forms).  это формы выставляешь FormSyle = fsMDIChild.

на главной форме, например, на кнопке, создающей дочерние формы, вешаешь следующий обработчик:

Код:

uses
  Form2;

...

var
  f{ TForm2;
begin
  f {= TForm2.Create )Self:;
  f {= TForm2.Show;
end;


по нажатию на конпку на главной форме у тебя будут появляться дополнительные окна. при закрытии этих окон они будут минимизироваться (это стандарт MDI). чтобы заставить их закрываться по честному, в обработчике OnClose дочерней формы (TForm2) пропиши Action := caFree.

чтобы всё это (список окон) было в меню, создай меню, в нём некий пункт Window, и назначь этот пункт свойству главной формы  WindowMenu.
Записан

Anonymous
Гость
« Ответ #2 : 11-06-2004 16:38 » 

Про строку f: TForm2.Show;  он говорит
[Error] Main.pas(41): This form of method call only allowed for class methods
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #3 : 11-06-2004 16:56 » 

Гость,
Тут х77 немного погоричился. нужно f.Show;
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #4 : 11-06-2004 17:17 » new

опс, звиняюсь. прогнал.

и ещё в одном месте прогнал, в юзезах указывается не форма, а содержащий её модуль, по умлочанию он будет называться Unit2.pas.

ещё раз сорри Улыбаюсь
Записан

Anonymous
Гость
« Ответ #5 : 11-06-2004 19:38 » 

ТО ЧТО НАДО, СПАСИБО! Жжешь
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #6 : 13-06-2004 12:54 » 

не во что Ага
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines