Akcje i TActionManager

0

Mam "mały" problem, z którym nie umiem sobie poradzić. Otóż menu główne aplikacji tworzę z wykorzystaniem komponentu TActionManager oraz listy akcji TActionList. Elementy menu dodaję dynamicznie podczas pracy programu. Problem pojawia się, gdy chcę zidentyfikować, jaką pozycję kliknięto (każda ma inną właściwość Tag). Nie działa właściwość ActionComponent (czy jakoś tak), co jest zrozumiałe, gdyż element menu (w tym wypadku klasy TActionClassItem) nie jest potomkiem TComponent... Proszę o pomoc. Z góry dziękuję.

0

TComponent(Sender).Tag

0

Hmm, próbowałem w OnExecute akcji wyświetlić klasę obiektu wywołującego (ShowMessage(Sender.ClassName)). Wynikiem była klasa TAction więc nie wiem, co o tym myśleć...

0

Ustawiasz Akcje kolejnym elementom Menu, a ponieważ każda akcja ma inną właściwość Tag, to TComponent(Sender).Tag zwróci tą wartość w zdarzeniu OnClick

0

Każdą pozycję obsługuje jedna i ta sama akcja. W tym właśnie tkwi problem, bo użytkownik "decyduje", ile pozycji będzie w menu. Dlatego tworzenie akcji dla każdej pozycji może kiedyś spowodować Out of Memory :).

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