Форум: "Основная";
Текущий архив: 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;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c