ActionManager e Menus
Pessoall,
Tenho um ActionManager no meu projeto que possui todas chamadas para os forms do mesmo. Também tenho um painel no meu form principal com alguns labels em branco. Gostaria de que, quando alguma ação fosse executada no ActionManager (sei que existe um evento nele chamado ONEXECUTE), automaticamente o caption dessa ação fosse copiada para o caption do label e também o evento execute da ação passasse a ser executada pelo evento on-click do label.
Alguém poderia me ajudar nisso aí?
Tenho um ActionManager no meu projeto que possui todas chamadas para os forms do mesmo. Também tenho um painel no meu form principal com alguns labels em branco. Gostaria de que, quando alguma ação fosse executada no ActionManager (sei que existe um evento nele chamado ONEXECUTE), automaticamente o caption dessa ação fosse copiada para o caption do label e também o evento execute da ação passasse a ser executada pelo evento on-click do label.
Alguém poderia me ajudar nisso aí?
Adilson Júnior
Curtidas 0
Respostas
Joel Rodrigues
26/06/2014
No OnExecute do ActionManager, teste o seguinte:
Label1.Caption := (Action as TAction).Caption; Label1.OnClick := (Action as TAction).OnExecute;
GOSTEI 0
Adilson Júnior
26/06/2014
No OnExecute do ActionManager, teste o seguinte:
Label1.Caption := (Action as TAction).Caption; Label1.OnClick := (Action as TAction).OnExecute;
Obrigado pela dica Joel...
Mas deixa eu aproveitar e abusar um pouco mais... Estou criando tipo um "Favoritos" com as opções mais usadas pelo usuário. Criei uma tabela onde eu guardo o nome do atalho (Consumo, por exemplo), o nome do Taction (AC_Consumo) e o index dele no objeto ActionManager... Quando o programa é aberto, eu chamo um procedimento que criei que "monta" esse favorito. Ele pega um linklabel de uma suite de componentes que tenho aqui, coloca no caption a descrição do atalho. Só não estou conseguindo associar o Action desse objeto ao respectivo action do favorito. Você teria alguma ideia de como eu posso fazer isso?
GOSTEI 0
Joel Rodrigues
26/06/2014
Você pode primeiramente acessar a action pelo nome, a partir da lista de componente do form ou do actionmanager, fazer um cast para TAction e usar o mesmo esquema da segunda linha do código que lhe passei. Creio que assim dá certo.
GOSTEI 0