Выбор окон MDI из меню Windows
1. Есть MDI приложение.
2. В свойстве WindowsMenu родительской формы (TForm) указана ссылка на пункт меню Windows (TMenuItem).
В результате при создании дочерних окон в меню Windows добавляются пункты с названием (Caption) этих окон. В последствии можно выбрать нужное окно и оно станет активным. Или еще интересней, если выбрать окно, напротив соответствующего пункта меню поставиться галочка.
Есть ряд вопросов:
Каким образом обеспечивается взаимосвязь?
Как это реализовать самому (руками)?
Как узнать какой пункт меню выбран? (обработать событие).
Вообще, главная задача, понять как сделать активным нужное дочернее окно?
Сразу уточню, вся сложность в том, что Cаption у дочерних окон может полностью совпадать. Т.е. вариант перебрать все открытые дочерние окна и сравнением их Caption с чем-либо не подходит.
Спасибо!
P.S.
Если использовать механизм с WindowsMenu то там одинаковы Caption проходят без проблем.
Это такая фича Windows. При создании клиенской области окна (это всё на уровне WinAPI. Delphi - лишь красивая обёртка) можно указать дескриптор меню, в которое будут добавляться пункты для окон и после этого Windows сама позаботится обо всех функциях.