Форум: "Основная";
Поиск по всему сайту: 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.72 MB
Время: 0.035 c
1-18867           KaPaT                 2002-01-22 23:41  2002.02.07  
Ребят, помогите с ресурсами пожалуйста!


3-18746           sasa_ch               2002-01-09 09:55  2002.02.07  
PLS


14-18949          Tosov                 2001-12-16 20:39  2002.02.07  
Вопрос дня !!!


3-18721           vano1                 2002-01-10 12:27  2002.02.07  
Как добраться до базы данных MS Acces?


7-18992           Nikolay               2001-10-29 08:56  2002.02.07  
Дедушкины часы!