Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.05;
Скачать: CL | DM;

Вниз

TMainMenu :чтобы меню разместилось на всех формах   Найти похожие ветки 

 
timonissimo ©   (2007-05-28 17:51) [0]

Не подскажите вот что.
Есть программа из нескольких форм (ну, штук десять).
Хочу сделать по-человечески, т.е. с компонентом TMainMenu.
Можно сделать так, чтобы меню разместилось на всех формах? Я не очень соображаю в Объекто-ориентированном...
Что для этого надо сделать?
Создать новый класс формы с подобным меню или как?


 
Jeer ©   (2007-05-28 18:19) [1]


> Создать новый класс формы с подобным меню


Вполне.


 
timonissimo ©   (2007-05-28 18:24) [2]

я вот читаю про свойство AutoMerge
наверное его надо использовать?...


 
Loginov Dmitry ©   (2007-05-28 18:29) [3]

Используй наследование форм


 
Amoeba ©   (2007-05-28 18:33) [4]


> timonissimo ©   (28.05.07 18:24) [2]
>
> я вот читаю про свойство AutoMerge
> наверное его надо использовать?...

Только если разрабатывается MDI приложение.


 
{RASkov} ©   (2007-05-29 02:16) [5]

Еще как вариант, можно меню положить в ДатаМодуль и там описать обработчики итемов и затем нужной форме присваивать это меню, предворительно убрав его с "предыдущей формы". Конкретное меню может присутствовать только на одной форме.


 
{RASkov} ©   (2007-05-29 03:18) [6]

> и затем нужной форме присваивать это меню, предворительно убрав его с "предыдущей формы".

procedure TFormN.FormActivate();
begin
 Menu := DataModul.MainMenu;
end;

procedure TFormN.FormDeactivate();
begin
 Menu := nil;
end;


 
timonissimo ©   (2007-05-29 10:05) [7]

А в данном случае переменная Menu это свойство TFormN?
Т.е. фактически TFormN.Menu?
Просто у меня ща delphi нет, не могу глянуть...


 
{RASkov} ©   (2007-05-29 11:41) [8]

> [7] timonissimo ©   (29.05.07 10:05)
> А в данном случае переменная Menu это свойство TFormN?

Да... все верно. И еще один "косячок" при таких "прыжках" меню, будет менятся ClientHeight форм. Нужно будет это учитывать....
Или как вариант на FormDeactivate(); вместо присваения nil - можно присваивать TmpMenu.
TmpMenu - это обычное TMainMenu, можно всего-лишь с одним пунктом.... оно использоваться не будет, чисто для занятия места на форме пока форма не акивна..


 
{RASkov} ©   (2007-05-29 11:42) [9]

> акивна..

*активна


 
timonissimo ©   (2007-05-29 11:48) [10]

Спасибо! Будем пробовать!



Страницы: 1 вся ветка

Текущий архив: 2007.08.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
2-1184007792
FrostFX
2007-07-09 23:03
2007.08.05
Подскажите как запустить из программы другой exe-шник)


15-1183727012
Unknown user
2007-07-06 17:03
2007.08.05
DWG


2-1184074625
WebSQLNeederr
2007-07-10 17:37
2007.08.05
Ламерский вопрос - как перейти на следующую итерацию цикла?


15-1183973813
Anatoly Podgoretsky
2007-07-09 13:36
2007.08.05
Паскаль


6-1167194866
merko$
2006-12-27 07:47
2007.08.05
Как прочитать файл.txt на удаленном ПК