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]

Responder a