Hola Delphius, se ve que he estado buscando mal, porque mi etiqueta de busqueda era erronea. Asi que te doy las gracias nuevamente por la mano que me has dado con este problemita. Te cuento que de todas las soluciones ofrecidas opte por la que
maneja los mensajes de windows ya que
seoane tiene razon en su explicación. Mi codigo quedo de la siguiente forma:
Hago que para cada objeto TEdit comparta el procedimiento haciendo que lo tome en los eventos OnEnter y devuelva el original en el OnExit quedando como se indica aqui abajo
Código Delphi
[-]
procedure ApelNomEnter(Sender: TObject);
procedure ApelNomExit(Sender: TObject);
private
AntWindowProc: TWndMethod;
public
end;
procedure TF_LoginNewReg.MiWindowProc(var Message: TMessage);
Label NoCopia;
begin
case Message.Msg of
WM_COPY:
begin
Goto NoCopia;
end;
WM_PASTE:
begin
Goto NoCopia;
end;
else AntWindowProc(Message);
end;
exit;
NoCopia:
ShowMessage('No se puede realizar la operación solicitada');
Casillero.Clear;
end;
procedure TF_LoginNewReg.ApelNomEnter(Sender: TObject);
begin
Casillero:=TEdit(Sender);
AntWindowProc:= TEdit(Sender).WindowProc;
TEdit(Sender).WindowProc:=MiWindowProc;
end;
procedure TF_LoginNewReg.ApelNomExit(Sender: TObject);
begin
TEdit(Sender).WindowProc:=AntWindowProc;
end;