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

Вниз

MDI   Найти похожие ветки 

 
First_May   (2002-10-17 10:32) [0]

Подскажите пожалуйста, как можно создать меню в дочерней форме MDI проекта?


 
Игорь Шевченко   (2002-10-17 11:11) [1]

А какие проблемы ?


 
First_May   (2002-10-17 12:02) [2]

Проблема в том, что если есть меню в MDIForm и MDIChild, то при создании меню из MDIChild добавляется в главное меню. А хотелось бы, что бы каждая форма имела бы свое меню и находилось бы там, где и должно ей быть как я хочу.


 
Игорь Шевченко   (2002-10-17 12:39) [3]

У меню есть свойство AutoMerge


 
First_May   (2002-10-17 14:09) [4]

Оно ничего не дает. Свойство GroupIndex тоже не подходит...


 
First_May   (2002-10-17 17:21) [5]

Других вариантов нет???


 
Игорь Шевченко   (2002-10-17 17:53) [6]

Угу, ошибся я. Извиняюсь.
Вот почему нельзя: (forms.pas)

if not (Menu.AutoMerge or (FormStyle = fsMDIChild)) or
(csDesigning in ComponentState) then
begin
if HandleAllocated then
begin
if Windows.GetMenu(Handle) <> Menu.Handle then
Windows.SetMenu(Handle, Menu.Handle);
Value.WindowHandle := Handle;
end;
end


 
First_May   (2002-10-17 18:31) [7]

Так как быть??? :))


 
Переяслов Г   (2002-10-17 19:22) [8]

Вообще-то по сттандартам интерфейса меню в MDI-child делать не принято. Может быть, имеет смысл использовать другие контролы?


 
First_May   (2002-10-18 14:05) [9]

Ну а если я хочу сделать именно так!!!


 
Reindeer Moss Eater   (2002-10-18 14:11) [10]

У меня это делается таким способом:
На MDIChild форме есть TMainMenu и TToolBar.

В OnCreate формы выполняется код:
SetToolBarFromMenu(ToolBar1,MainMenu1.Items);
Menu:=nil;

procedure SetToolBarFromMenu(ToolBar: TToolBar; Items: TMenuItem);
var i: integer; Button: TToolButton;
begin
for i := Pred(Items.Count) downto 0 do
begin
Button := TToolButton.Create(ToolBar.Owner);
with Button do
begin
Parent := ToolBar;
MenuItem := Items[i];
Grouped := True;
AutoSize := True;
end;
end;
ToolBar.Font.Assign(Screen.MenuFont);
end;




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

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

Наверх





Память: 0.57 MB
Время: 0.036 c
3-92324
wHammer
2002-10-05 11:09
2002.10.28
Как программно установить NET DIR для Paradox?


14-92683
Undert
2002-10-07 21:46
2002.10.28
Кто может предложить ...


4-92812
Alexander
2002-09-17 12:40
2002.10.28
Как программно удалить принтер из системы?


3-92389
angelcom
2002-10-08 05:04
2002.10.28
Помогите, плз. Или я торможу уже или.....


1-92529
zam2000
2002-10-16 10:05
2002.10.28
Как сохранить буфер обмена, чтобы потом его восстановить?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский