Evento Personalizado Global
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;
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
Curtidas 0
Respostas
Nigro
17/10/2006
sobe
GOSTEI 0
Rjun
17/10/2006
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?
GOSTEI 0
Nigro
17/10/2006
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?
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?
GOSTEI 0
Leonardobhbr
17/10/2006
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
Custom_ProcessoDblClick;
tente colocar o evento em uma unit com formulário e faça a chamada
form.Custom_ProcessoDblClick;
que deve funcionar
GOSTEI 0
Nigro
17/10/2006
funcionou
GOSTEI 0