Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2009, 14:10   #1
blackstersl
Форумчанин
 
Аватар для blackstersl
 
Регистрация: 23.08.2008
Сообщений: 374
Вопрос как скрыть/показать TMainMenu

Как по нажатию на кнопку можно скрыть TMainMenu а потом по нажатию этой же кнопки показать его? Спасибо.
blackstersl вне форума Ответить с цитированием
Старый 13.06.2009, 14:20   #2
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Я только так придумал:
Код:
procedure TForm1.bt_2Click(Sender: TObject);
begin
 Form1.Menu := TMainMenu.Create(Self);  //Скрывает
end;

procedure TForm1.bt_3Click(Sender: TObject);
begin
 Form1.Menu := MainMenu1;   //Показывает
end;
Но тут вроде утечка памяти, точно не уверен.
Так, наверно, будет лучше:
Код:
procedure TForm1.bt_2Click(Sender: TObject);
var
 m: TMainMenu;
begin
 m := TMainMenu.Create(Self);
 Form1.Menu := m;
 m.Free;
end;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.

Последний раз редактировалось Neeter; 13.06.2009 в 14:23.
Neeter вне форума Ответить с цитированием
Старый 13.06.2009, 14:24   #3
blackstersl
Форумчанин
 
Аватар для blackstersl
 
Регистрация: 23.08.2008
Сообщений: 374
По умолчанию

Все работает спс.
blackstersl вне форума Ответить с цитированием
Старый 13.06.2009, 18:12   #4
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Код:
procedure TForm1.Button2Click(Sender: TObject);

 procedure Stat(M :TMainMenu; vis :boolean=True);
 var I,II :Integer;
 begin
  If M=Nil then Exit;
   II := MainMenu1.Items.Count;
  If II>0 then
  For I:=0 To II -1 Do
   M.Items[I].Visible := Vis;
 end;

begin
  Case Button2.Tag of
 0:begin // прячем
  Stat(MainMenu1, False);
  Button2.Tag := 1;
   end;
 1:begin // показываем
  Stat(MainMenu1, True);
  Button2.Tag := 0;
   end;
  End;
end;
Alter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как динамически создать процедуры для подменю компонента TMainMenu Dimitriys Общие вопросы Delphi 9 13.01.2011 18:02
[HELP] C; как показать откуда до куда? AlexandrSN Общие вопросы C/C++ 1 11.06.2009 13:20
Показать и скрыть фигуры Иванов_ДМ Microsoft Office Excel 5 28.04.2009 16:49
Как можно изменить цвет полосы меню компонента TMainmenu на форме? SkAndrew Общие вопросы Delphi 6 11.08.2008 17:35
Как показать уведомения? UnD)eaD)Snake Win Api 6 16.08.2007 23:23