Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

Поиск окон в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.043 c
8-1071152407
Сергей Ф.
2003-12-11 17:20
2004.04.11
Как можно попроще сделать градацию цвета


8-1076785354
Grinder
2004-02-14 22:02
2004.04.11
параллельная работы media player


1-1082404703
ASvencim
2004-04-19 23:58
2004.04.11
Как программно узнать имя сеанса Windows?


1-1079823329
НерВ
2004-03-21 01:55
2004.04.11
Не выполняется On Close


8-1071850669
zioza
2003-12-19 19:17
2004.04.11
Хинты к кнопкам mediaplayer





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский