Fórum Evento Personalizado Global #331345

17/10/2006

0

Olá.
Preciso personalizar um evento de m determinado TMaskEdit, para todos os forms do aplicativo, pensei em algo como segue abaixo, mas consegui.
O código está em uma unit que funciona como biblioteca:

procedure LimpaComponentes(pForm: TForm; pLimpaProcesso: Boolean);
var
iContador: Integer;

begin
for iContador := 0 to pForm.ComponentCount - 1 do
begin
if pLimpaProcesso then
begin
if pForm.Components[iContador] is TMaskEdit then
begin
if (TMaskEdit(pForm.Components[iContador]).EditMask = ´99/A999-9;0;_´) then
begin
TMaskEdit(pForm.Components[iContador]).Hint := ´Click duplo para limpar´;
TMaskEdit(pForm.Components[iContador]).OnDblClick := Custom_ProcessoDblClick;
TMaskEdit(pForm.Components[iContador]).ShowHint := True;
TMaskEdit(pForm.Components[iContador]).Cursor := crHandPoint;
end;
end;
end;
end;
end;


Nigro

Nigro

Responder

Posts

19/10/2006

Nigro

sobe


Responder

Gostei + 0

19/10/2006

Rjun

Não me parece ser uma boa ideia você criar um evento global. Não seria mais interessante você criar um componente que herdasse de TMASKEDIT e nele fazer o tratamento?


Responder

Gostei + 0

19/10/2006

Nigro

Olá Rogério
Obrigado pelo interesse...
Vamos lá...
O sistema já exite, são inúmeras telas, e dentro de cada tela são vários componentes, seria inviável mudar o componente a essa altura.
Teria uma saída?


Responder

Gostei + 0

20/10/2006

Leonardobhbr

aparaentemente seu codigo ta todo certo só que o delphi não compreende que uma biblioteca de funçoes consiga escutar eventos como o duploclique por isso está dando o erro este evente tem que está amarra do em alguma tela para ter o handler;

Custom_ProcessoDblClick;

tente colocar o evento em uma unit com formulário e faça a chamada
form.Custom_ProcessoDblClick;


que deve funcionar


Responder

Gostei + 0

20/10/2006

Nigro

funcionou


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar