Ver Mensaje Individual
  #4  
Antiguo 11-04-2008
Avatar de casacham
casacham casacham is offline
Miembro
 
Registrado: abr 2006
Ubicación: Cordoba->Argentina. Arboleas->Almeria->España
Posts: 184
Reputación: 19
casacham Va por buen camino
Gracias de nuevo

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
    { Private declarations }
     //....
     //...
    AntWindowProc: TWndMethod;
  public
    { Public declarations }
  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 // Si no es ninguno de los anterios llamamos al antiguo WndProc
      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;
Responder Con Cita