Delphi/Menu - rozwiązanie

Rozwiązanie zadania

edytuj

Ten fragment programu, obsługujący zdarzenie OnCreate formularza, na którym jest puste MainMenu1, tworzy menu o etykiecie "Elementy", a następnie wewnątrz tego menu tworzy 10 elementów.

procedure TForm1.FormCreate(Sender: TObject);
var
elementy, item: TMenuItem; // element menu
i: Integer; // licznik pętli
begin
elementy:=TMenuItem.Create(MainMenu1); // utworzenie menu "Elementy"
elementy.Caption:='&Elementy';
MainMenu1.Items.Add(elementy); // dodanie menu Elementy do głównego menu
for i:=1 to 10 do begin
item:=TMenuItem.Create(elementy); // utworzenie elementu wewnątrz menu Elementy
item.Caption:='element &'+IntToStr(i); // nazwa elementu
elementy.Add(item); // dodanie elementu
end;
end;

Zmienna "elementy" zawiera całe menu z etykietą elementy. Ponieważ jest bezpośrednio dodawane do głównego menu, użyta została metoda TMainMenu.Items.Add. Z kolei zmienna "item" zawiera kolejny element menu, dodawany do zmiennej "elementy". Zmienna elementy jest typu TMenuItem, która ma bezpośrednio metodę Add (nie można użyć TMenuItem.Items.Add).

(powrót do kursu)