Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.08.05;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.066 c
2-1184052234
AZIZE
2007-07-10 11:23
2007.08.05
несовместимость типов


15-1183689416
Slider007
2007-07-06 06:36
2007.08.05
С днем рождения ! 6 июля 2007 пятница


8-1162196192
spz
2006-10-30 11:16
2007.08.05
WMA редактирование


15-1183973489
tesseract
2007-07-09 13:31
2007.08.05
народ это же наш телефон!!!!!


15-1183635469
@!!ex
2007-07-05 15:37
2007.08.05
Как до ставить Linux.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский