Главная страница
    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.46 MB
Время: 0.008 c
1-92517
ev
2002-10-17 20:43
2002.10.28
как сделать TStringGrid и TListBox со скролом справа?


14-92666
Desdechado
2002-10-07 13:18
2002.10.28
Ассоциации


14-92725
Феликс
2002-10-08 20:59
2002.10.28
Помогите найти картинку.


1-92438
Pat
2002-10-17 20:55
2002.10.28
Печать из QuickRep


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