![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MainMenu & Merge
andy_prokofiev © (2002-08-22 11:34:00)Есть форма MainForm (FormStyle = fsNormal) c FormMainMenu : TMainMenu, на которую в run-time вставляется фрейм, у которых также есть FrameMainMenu : TMainMenu.
var xF : TFrameX;
procedure MainForm.BtnClick(...);
begin
if Assigned(xF) then FreeAndNil(xF);
xF := TFrameX.Create(Self);
xF.Parent := Self;
//...
xF.Visible := true;
FormMainMenu.Merge(xF.FrameMainMenu);
// меню из фрейма успешно добавляется в главное меню формы
end;
procedure MainForm.Btn2Click(...);
var xF3 : TForm3;
begin
xF3 := TForm3.Create(Self);
...
xF.Show;
// при появлении этой немодальной формы добавленное меню
// пропадает из меню главной формы
end;
procedure MainForm.Btn3Click(...);
var xF3 : TForm3;
begin
xF3 := TForm3.Create(Self);
try
// ...
xF.ShowModal;
finally
xF.Free;
end;
// при появлении этой формы добавленный пункт меню НЕ
// пропадает из меню главной формы
end;
В чем причина и как с этим бороться?
andy_prokofiev (2002-08-22 16:07:00) [1]А вот если у Form3 поставить FormStyle = fsMDIForm (!!!),
то меню не пропадает, но это как-то неприлично...
Игорь Шевченко (2002-08-22 16:04:00) [2]Тогда отладчик в руки
andy_prokofiev (2002-08-22 16:04:00) [3]И, конечно, я описАлся
xF3.Show;
xF3.ShowModal; xF3.Free;
andy_prokofiev (2002-08-22 16:02:00) [4]Я создал простой пример и этот фрейм и эта форма пустые.
(на фрейме есть компонент MainMenu, конечно)
Игорь Шевченко (2002-08-22 15:59:00) [5]А код Form3 и Frame ?
andy_prokofiev (2002-08-22 15:58:00) [6]???