Dynamiczne dodawanie pozycji do Menu

0

Mam taką strukturę MainMenu:

Operacje

Operacyjki1 --> Pusto:)

Chcę dynamicznie dodać elemnet do SubMenu elementu Operacyjki1 i ustawić dla nowo wstawionego elementu właściwośc Caption oraz uzupełnić procedure onClick.
Jak to zrobić?

0
  1. Deklarujesz obiekt klasy TMenuItem:
var TMPMenuItem: TMenuItem;
  1. Tworzysz ten obiekt jako podobiekt tego swojego menu:
TMPMenuItem:=TMenuItem.Create;
Operacyjki1.Add(TMPMenuItem);
  1. Ustawiasz odpowiednio Caption:
TMPMenuItem.Caption:='Operacyjka numer 1';
  1. Przypisujesz zdarzenie:
TMPMenuItem.OnClick:=Form1.Operacyjka1Click;

Uwaga! Operacyjka1Click musi być metodą typu TNotifyEvent. Inaczej nie pójdzie. Jest to najczęściej popełniany błąd, więc zwracam na niego uwagę.

  1. Na końcu wykonywania procedury nie zwalniasz pamięci za pomocą TMPMenuItem.Free. Spowodowałoby to usunięcie tego elementu menu. Zwolnieniem pamięci zajmie się TCustomMenu w momencie zamykania aplikacji.
0

Działa, dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1