Главная страница
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.083 c
7-1080554218
BALU1111
2004-03-29 13:56
2004.04.11
TListView


6-1075705511
genek84
2004-02-02 10:05
2004.04.11
Как разделить слипание сообщений?


14-1079191766
Ig
2004-03-13 18:29
2004.04.11
Как в ListView добавить


9-1068552959
Thor
2003-11-11 15:15
2004.04.11
Улучшенный Power Draw


8-1076409176
_none_
2004-02-10 13:32
2004.04.11
GDI+ и win2003server