42 Aplikacje w Delphi. Przykłady
Umieść na formularzu dwa komponenty typu TMai nMenu i utwórz menu jak na rysunku 3.4.
Rysunek 3.4.
Przykłady dwóch menu dla jednego okna
Następnie wstaw dwa przyciski typu TButton i etykietę TLabel. Działanie programu:
♦ Po kliknięciu pierwszego przycisku menu głównym dla okna będzie Menul, a po kliknięciu drugiego przycisku — Menu2.
♦ Wybranie opcji lub polecenia menu spowoduje wyświetlenie jego treści na etykiecie — utwórz tylko jedną procedurę obsługi zdarzenia OnCl i ck, obsługującą wszystkie polecenia obu menu.
♦ Do zmiany menu głównego wykorzystano właściwość Menu formularza. Procedury obsługi przycisków zamieszczono poniżej.
procedurę TForml.ButtonlClicktSender: TObject); begin
Menii:=MainMenul;
end:
procedurę TForml.Button2Click(Sender: TObject): begin
Menu:=MainMenu2;
end:
♦ Pod dowolne z poleceń Menul lub Menu2 należy podpiąć procedurę:
procedurę TForml.bbbblClicktSender: TObject): begin
if Sender is TMenuItem then
Labell.Caption:=(Sender as TMenuItem).Caption:
//lub inaczej Labell.Caption:=TMenuItem(Sender).Caption;
end;
Instrukcja if Sender is TMenuItem then ... jest potrzebna tylko po to, aby uniknąć błędu po przypadkowym przypisaniu tej procedury zdarzeniu OnClick innego komponentu. Jeśli przypisania procedury obsługi zdarzeń były prawidłowe, instrukcję tę można pominąć.
Następnie zaznacz każde z poleceń, na zakładce Events Inspektora Obiektów kliknij w polu z prawej strony zdarzenia OnCl i ck i z listy wybierz nazwę bbbblCl i ck — rysunek 3.5.
Puste pola wyświetlane za ostatnimi poleceniami nie pojawiają się po uruchomieniu programu.