Мелкая проблема с окнами MDI (меню Окно). (ИСР - Delphi6)
От: VadRay Россия  
Дата: 21.07.04 09:00
Оценка:
Доброго времени суток. Ответа не нашел в ЧаВО и форумах, поэтому и беспокою.
Возникла проблема, хотя и мелкая. Есть проект (Расчет тарифов ком-ых услуг) с исппользованием MDI-окон. Все окна, в том числе и дочерние имеют WindowState wsMaximized. Требуется создать менюшку для работы с окнами, на подобие Мелкософтовских офисных программ (Word Excel etc). Во-первых, половину я сделал, т.е создал по шаблону меню Окно. Кое-что мне не нужное удалил: Close, Hide, Show. Через ActionList создал соответствующие действия: Каскад (Cascade), Выравнивание (ArrangeAll), Распределение по вертикали (TileVertical). Все, что можно связал. Проблема появилась в создании списка открытых окон. По идее, в хелпе есть описание CustomForm.WindowMenu. Там написано, что список формируется автоматически. В книге Пола Килмера "Создание приложений в Delphi" есть пример приложения на основе RTF-редактора. Смотрел исходники. Там следующая катина. Дочернее окно отрабатывает событие OnCreate:
procedure Form1.FormCreate(Sender: TObject);
begin
  WindowMenu := Application.MainForm.WindowMenu;
end;


Явно обозначенной переменной WindowMenu я не нашел, также как и модуля (есть подозрение, что это модуль родительской формы). Сама программа примера работает (есть экзешник), однако скомпилировать не удалось, да в общем это к делу не отностится.
Выше указаную строчку я вставил в свой проект для нескольких форм. Правда я поменял имя переменной на имя меню в головной форме (с сохранением иерархии). В итоге программа отрабатывает операции, предусмотренные дейсвиями (Action), но не создает списка открытых окон.
В чем я не правильно поступил?
Заранее благодарен.
Re: Мелкая проблема с окнами MDI (меню Окно). (ИСР - Delphi6
От: s.ts  
Дата: 21.07.04 10:16
Оценка: 7 (1)
Hello, VadRay!
You wrote on Wed, 21 Jul 2004 09:00:45 GMT:

V> RTF-редактора. Смотрел исходники. Там следующая катина. Дочернее окно

V> отрабатывает событие OnCreate:
 V> procedure Form1.FormCreate(Sender: TObject);
 V> begin
 V>   WindowMenu := Application.MainForm.WindowMenu;
 V> end;
 V>


Дочернему окну пофигу свойство WindowMenu, так что этот обработчик если он в MDIChild смысла не имеет.
О чем, кстати, и сказано в хелпе.
Установи в ObjectInspector свойство WindowMenu главной формы приложения (она д.б. MDIForm).

V> Явно обозначенной переменной WindowMenu я не нашел, также как и модуля

V> (есть подозрение, что это модуль родительской формы). Сама программа
V> примера работает (есть экзешник), однако скомпилировать не удалось, да в
V> общем это к делу не отностится. Выше указаную строчку я вставил в свой
V> проект для нескольких форм. Правда я поменял имя переменной на имя меню
V> в головной форме (с сохранением иерархии). В итоге программа
V> отрабатывает операции, предусмотренные дейсвиями (Action), но не создает
V> списка открытых окон. В чем я не правильно поступил?
V> Заранее благодарен.
Posted via RSDN NNTP Server 1.9 beta
Re[2]: Мелкая проблема с окнами MDI (меню Окно). (ИСР - Delp
От: VadRay Россия  
Дата: 23.07.04 07:43
Оценка:
Здравствуйте, s.ts, Вы писали:

Большой рахмат. Правда я это откопал чуточку раньше, чем просмотрел ответ. В общем спасибо за помощь "прибалтам по-жизни", у которых "Тормосса этто таккие присспоссоппления, ттля останоффки аффтомоппиллля " . Прибалты, не обижайтесь ето я про себя. Всё тема закрыта, надеюсь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.