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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2009, 11:40   #1
TOJluK
Пользователь
 
Аватар для TOJluK
 
Регистрация: 13.08.2008
Сообщений: 14
По умолчанию Окно в окне

Подскажите где бы подчитать о создании "окна в окне", наподобие открытия документов в ворде (или окон в браузере).
Т.е. существует главное окно и нескольколько DLL c формами, вот эти формы из DLL надо открывать внутри главного окна.
TOJluK вне форума Ответить с цитированием
Старый 25.02.2009, 11:52   #2
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

В любом учебнике по Дельфи есть описание MDI - форм.Или в "поиск"
MDI - формы (окна).
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 25.02.2009, 11:53   #3
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

MDI (multiple document interface) интерфейс ...
Набери в поиске - огромная куча информации ...
Его реализация уже зависит от конкретной задачи.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 25.02.2009, 11:53   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Почитайте про MDI-приложения, например. Для этого достаточно взять любую книгу по Дельфи.
В Дельфи есть возможность при создании нового проекта выбрать MDI-заготовку.
Кроме того, в каталоге Demos есть пример такого приложения.
mihali4 вне форума Ответить с цитированием
Старый 31.03.2009, 12:36   #5
TOJluK
Пользователь
 
Аватар для TOJluK
 
Регистрация: 13.08.2008
Сообщений: 14
По умолчанию

Наконец- то доброался до старого проекта, с MDI формами вроде разобрался, но не могу открыть MDIChild из DLL. Как тут быть? Т.е. Я хочу Form1 проекта сделать MDI а окно из DLL MDIChild, при попытке создать окно из DLL пишет No MDI Form current active.
TOJluK вне форума Ответить с цитированием
Старый 31.03.2009, 16:58   #6
Toxa
Форумчанин Подтвердите свой е-майл
 
Аватар для Toxa
 
Регистрация: 01.12.2006
Сообщений: 514
По умолчанию

задай в качестве parent'a для дочерней формы, свою главную
Пишу на Delphi за еду
Toxa вне форума Ответить с цитированием
Старый 16.10.2009, 23:28   #7
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
Сообщение от TOJluK Посмотреть сообщение
Наконец- то доброался до старого проекта, с MDI формами вроде разобрался, но не могу открыть MDIChild из DLL. Как тут быть? Т.е. Я хочу Form1 проекта сделать MDI а окно из DLL MDIChild, при попытке создать окно из DLL пишет No MDI Form current active.
столкнулся с такой же проблемой (((
MDIChild находится в ДЛЛ и вызываться не хочет ...
код вызова из гл. программы:
Код:
procedure TfMain.DicEdit;
type
  TMyProc = procedure(h:hwnd); stdcall;
var
  DLLInstance: THandle;
  MyProc: TMyProc;
begin
  @MyProc:= nil;
  DLLInstance:= LoadLibrary(PChar('DicEditor.dll'));
  try
    @MyProc:= GetProcAddress(DLLInstance, 'TechForm');
    if Assigned(@MyProc) then MyProc(fMain.Handle)
    else
      MessageBox(GetActiveWindow, 'Не знайдена DLL-функція!', 'Помилка', 16);
  finally
    FreeLibrary(DLLInstance);
  end;
end;
создание в ДЛЛ:
Код:
procedure TechForm(h : hwnd);
begin
TfTech.CreateParented(h);
end;
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 17.10.2009, 00:17   #8
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Сперва передайте в dll Application.Handle.
В dll в модуле Forms.pas создается свой объект Application,
А ведь основная MDI Form именно в нем и прописывается
s.Creator вне форума Ответить с цитированием
Старый 17.10.2009, 00:19   #9
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

project options
вкладка packages
установить галочку build with runtime packages
в основной программе и DLL

или искать информацию по теме Application.handle

P.S. отстал
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 17.10.2009, 11:04   #10
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
Сообщение от s.Creator Посмотреть сообщение
Сперва передайте в dll Application.Handle.
В dll в модуле Forms.pas создается свой объект Application,
А ведь основная MDI Form именно в нем и прописывается
а можно небольшой примерчик на примере моего кода ?
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как активировать в окне программы Mathcad окно Математика Tancha Софт 1 30.11.2008 13:02
в новом окне jone Общие вопросы Delphi 1 05.10.2008 12:25
кнопки в окне mahsus Общие вопросы .NET 0 29.02.2008 12:42
«Окно+символ». Создать класс, представляющий окно в текстовом режиме. RustreX Паскаль, Turbo Pascal, PascalABC.NET 1 11.11.2007 19:28