Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Поиск окон в MDI   Найти похожие ветки 

 
EvgeniyR ©   (2004-03-24 15:15) [0]

Из одной дочерней формы пытаюсь узнать открыта ли другая дочерняя форма: if FindWindow("TForm1", "Тра-ля-ля") <> 0 then exit, но всегда получается, что форму не находит. Как еще можно найти открытую форму? Заранее спасибо.


 
Defunct ©   (2004-03-24 15:19) [1]

Используйте связи один-ко-многим, много-к-одному через гравную форму MDI проекта, которая может хранить хендлы всех открытых MDI Child.


 
EvgeniyR ©   (2004-03-24 15:45) [2]

Что-то не понятно...


 
Defunct ©   (2004-03-24 15:52) [3]

В главной форме храните динамический массив хендлов всех существующих на данный момент MDI Child. А из любого MDI Child вы можете обратиться к MainForm всегда и получить требуемый хендл.


 
Defunct ©   (2004-03-24 16:15) [4]

Попытаюсь объяснить

Допустим у вас есть MDI приложение с главной формой MainForm. В главной форме по какому-то событию создаются дочерние формы MDIChild, главная форма имеет информацию о всех создаваемых формах (Handle, указатель на экземпляр и т.п.) и может свободно хранить эти данные в каком-то массиве, позже это позволит главной форме обращаться непосредственно к любой дочерней форме (связь один-ко-многим). Дочерние же формы знают только о существовании главной формы (связь много-к-одному), вот к ней они и должны обращаться когда встает вопрос о передаче какой-то информации другому MDIChild.


 
Плохиш   (2004-03-24 16:20) [5]

А чем MDIChildren не подходит?


 
Digitman ©   (2004-03-24 16:26) [6]


> открыта ли другая дочерняя форма: if FindWindow


форма - это форма, окно - это окно

на то и формы, чтобы легче было контролировать окна

спрашивается, на кой шут манипулировать окнами, если контролирующая MDIParent-форма содержит всю исчерпывающую инф-цию о своих MDIChild-формах ? проктология, однако ..


 
Defunct ©   (2004-03-24 16:32) [7]

А вообще, если у вас возник вопрос о передаче информации между MDIChild формами, это говорит о том, что MDI приложение спроектировано не верно.



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.038 c
1-1079872373
guest_Dmitry
2004-03-21 15:32
2004.04.11
Запуск приложений на Kylix без среды разработки


1-1080068374
Vovans
2004-03-23 21:59
2004.04.11
Фокус в MDI приложении.


1-1082450584
Романов Р.В.
2004-04-20 12:43
2004.04.11
Организовать последовательное выполнение приложений


14-1079274306
Домарощинер
2004-03-14 17:25
2004.04.11
Выборам ВВП-2 посвящается...


14-1082361375
X9
2004-04-19 11:56
2004.04.11
2 вопроса по Linux