Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MDI


sergeyst ©   (2007-02-08 08:53:00) 

Привет всем! Уважаемые мастера, подскжите, пожалуйста! Создается дочерняя форма, вместе с ней кнопка на тулбаре для того, чтобы при щелчке на ней показывать её(при переключении между многими). Как мне идентифицировать кнопку с формой, если одноименных форм создаваться может несколько?
Что такое WindowMenu главной формы я знаю.Хотелось бы, чтобы кнопочки работали. Может это как-то можно отследить, и привязать к кнопкам на тулбаре(отображение формы, а при уничтожении - соотв. уничт. и кнопка)?


sergeyst   (2007-02-08 10:21:00) [1]

ЮЮ ©   (08.02.07 09:36) [3]
Простите за поздний ответ(прокси).
Это очевидно. Охото КРАСИВО! Ну, может можно прицепиться к создаваемым разделам меню? Блин! Я сам, просто не могу разобраться с исходником TMainMenu. Поможите куда залесть.
Кстати, судя по количеству ответов, это будет интересно не только юзеру Delphi.


ЮЮ   (2007-02-08 09:36:00) [2]

Как мне идентифицировать кнопку с формой, если одноименных форм создаваться может несколько?

Кнопка.Tag :=  Integer(<форма>)

найти нужную: среди всех MDIChildren  главной формы ищем ту, для которой истинно
Integer(<глаавная форма>.MDIChildren[i]) = Кнопка.Tag


sergeyst   (2007-02-08 09:31:00) [3]


> MsGuns ©   (08.02.07 09:17) [1]

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


Кажется, я вопрос не правильно задал.
Извиняюсь.
Создаются разные дочерние формы.
Когда, насколько я знаю, в главной форме указывается в свойстве WindowMenu, скажем N2, то там(в разделе этого меню), при создании этих самых дочерних форм появляются разделы меню, при нажатии на которых, отображаются созданные формы. Вот я и спрашиваю - можно ли как-нибудь либо прицепить мою созданую кнопку к созданному ( автоматически ( не знаю кем) ) разделу меню, или, как создать свою привязку кнопки к форме (созданной при создании (извините за тавтологию)  формы)?


MsGuns   (2007-02-08 09:17:00) [4]

>Создается дочерняя форма, вместе с ней кнопка на тулбаре для того, чтобы при щелчке на ней показывать её(при переключении между многими). Как мне идентифицировать кнопку с формой, если одноименных форм создаваться может несколько?

Кто на ком стоял ? (с)

Если я правильно понял, то речь идет и централизации элементов управления на Гл.форме, и передавать команды "дочкам" тоже должна она (точнее, обработчики элементов управления или соотв. TActions).
Тогда решение простое:
- если все дочки одного класса (или наследники одной и той же базовой формы, имеющей общий метод) - метод гл.формы выполняется для активной "дочки", указатель на которую легко вытянуть из св-ва ActiveMDIChild
- если дочки разные, то они сами должны выполнить выбранное юзером действие, а гл.форма только "оповещает" активную дочь о том, что надо выполнить определенное действие, посылая ему сообщение данного типа.


Наверх

Титульная страница Поиск, карта сайта Написать письмо