Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];




Вниз

Вопрос по ActionList 


kserg@ukr.net   (2002-01-23 15:19) [0]

Создаю обычное MDI-приложение, главная форма которого содержит MainMenu и ToolBar.
Нектор. пункты MainMenu дублирую в Child-форме. Тогда при открытии этих Child-форм её MainMenu корректно сливается с MainMenu главной формы. Ессно меню и кнопки "увязываю" через ActionList.
Так вот, пункты MainMenu отрабатывают чётко, а вот кнопки "теряют" связь с Child-формой, в которой они "живут"
(видят только 1-ю открытую Child-форму)
Как справиться с данной проблемой?

Заранее благодарен.



AlexR_R   (2002-01-23 16:11) [1]

Как ты обращаешься к Child-форм. Через MainForm.ActiveMDIChild
или как нибудь по другому?



kserg@ukr.net   (2002-01-23 16:22) [2]

При создании приложения я взял за основу классический образец
MDI-application, где есть единственный вызов при создании
дочерней формы
...
Child := TMDIChild.Create(Application);



AlexR_R   (2002-01-23 16:54) [3]

Я не совсем понял в чем проблема.
Два toolbara на разных формах вроде и не должны сливаться.
И видеть их ты будешь на той форме где поместил.
Лучше на главной. Хотя это вопрос вкуса.
А дальше то что происходит на нажатие кнопки, если она на главной форме и должна обратится к Child надо отрабатывать
через TChildForm(MainForm.ActiveMDIChild)
Этот вызов должен быть прописан в Action



kserg@ukr.net   (2002-01-23 17:57) [4]

Извини, неясно объяснил.
У меня в приложении два MainMenu: в главной форме и дочерней.
Ессно, в меню главной формы - общие для всех форм пункты,
в меню дочерней формы - "личные". При чём в Child-форме свой ActionList.
При открытии Child-формы оба меню благополучно сливаются, а за счет своего ActionList "личные" пункты корректно работают с породившей её Child-формой.
А вот ToolBar у меня один - на главной форме.
И кнопки для "личных" пунктов меню я задаю как ссылку на соот-щий Action дочерней формы MDIChild.Edit_AddNew.
Ну и получается, что кнопка EDIT всё время работает только с первой созданной дочерней формой...



AlexR_R   (2002-01-23 18:35) [5]

Ну вообщем если сам все не понял, то покажи код главной формы.



kserg@ukr.net   (2002-01-24 10:20) [6]

>AlexR_R - спасибо за поддержку.
Вообщем твои подсказки навели на мысль и я поступил след.образом:
на событие FormActivate дочерней формы повесил событие
определяющее Action кнопки главной формы. Теперь всё ОК.

procedure TMDIChild.FormActivate(Sender: TObject);
begin
MainForm.ToolButton_AddNew.Action := ActionEdit_AddNew;
end;




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.029 c
3-18773           Laimer                2002-01-14 13:14  2002.02.07  
Запрос


14-18954          DinaraRu              2001-12-17 23:29  2002.02.07  
Забытый пароль


6-18930           VS                    2001-11-16 05:56  2002.02.07  
Все компьютеры в сети


1-18864           VID                   2002-01-22 11:43  2002.02.07  
Передача и ПОЛУЧЕНИЕ команд от одной проги к другой.


3-18704           dim-                  2002-01-09 12:35  2002.02.07  
FreeReport