Bom dia Elazar , meu amigo Rafael Escher encontrou uma solução muito elegante para esse problema, que consiste em interceptar a chamado ao click do TMenuItem:
unit unit3; interface uses dialogs, Menus; type TMenuItem = class(Menus.TMenuItem) public procedure Click; override; end; implementation { TMenuItem } procedure TMenuItem.Click; begin showmessage('José'); inherited; end; end. Dae no form onde o menu esta, é só dar o uses na seção interface à esta unit3 e usar o onclick, que o compilador faz o resto. Obrigado a todos. Atenciosamente. José Ricardo Aviles. assinatura1 ( Tel.....: 19 3868-7185 ( Cel.....: 19 8173 0077 * E-mail: <mailto:jravi...@stiware.com.br> jravi...@stiware.com.br Skype: stiware De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome de Elazar Dornelles Ceza Enviada em: sexta-feira, 23 de julho de 2010 14:50 Para: delphi-br@yahoogrupos.com.br Assunto: Res: [delphi-br] Mudar onClick de TMenuItem sem precisar reescrever onClick dos forms Boa tarde; Você vai precisar mudar o metodo (onclick) chamado pelos menus de alguma forma, pode ser por código (loop, findcomponent) ou manualmente, fazendo os itens de menus chamar uma unica rotina (que marca o item como recente e atualiza os atalhos mais utilizados e que por seguinte execute o metodo original do menu realizando a tarefa para qual o menu é proposto). Atenc; Elazar Dornelles Ceza ________________________________ De: thevortex78 <thevorte...@yahoo.com.br <mailto:thevortex78%40yahoo.com.br> > Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> Enviadas: Sexta-feira, 23 de Julho de 2010 12:41:00 Assunto: [delphi-br] Mudar onClick de TMenuItem sem precisar reescrever onClick dos forms Bom dia a todos. Eu implementei em meus sistemas, uma recurso para colocar na "area de trabalho" as opções que o cliente mais usa e os itens recentes, ex. o cliente usa mais pedido de vendas e cadastro de clientes entao ele coloca nessa area de trabalho os icones dessas opções a partir de um treeview, sem precisar ficar indo em menus. Tudo funciona legal tem esse treewview que le as informações dos itens de um TMainMenu e preenche esse treeview com elas, entao quando o usuario acessa um form pelo treeview, o sistema marca a opção como recente, como no word e tal ou por um click no botão direito ele pode adicionar aos favoritos dessa area de trabalho. O problema é que quando o usuario acessa a opção pelo item do TMainMenu, ele nao marca como recente, claro. A pergunta é: tem como eu colocar minha função marca_recente para ser acessada no onClick do TMenuItem sem precisar reescrever os eventos onClick de todos os itens de menus de todos os sistemas. Desde ja, muito obrigado a todos. José Ricardo Aviles. [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]