Ver Mensaje Individual
  #2  
Antiguo 31-08-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Asi, de repente, se me ocurre que interceptes el mensaje WM_COPY y WM_CUT. Algo así:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    OldWindowProc: TWndMethod;
    procedure NoCopy(var Msg: TMessage);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  OldWindowProc:= Memo1.WindowProc;
  Memo1.WindowProc:= NoCopy;
end;

procedure TForm1.NoCopy(var Msg: TMessage);
begin
  if not((Msg.Msg = WM_COPY) or (Msg.Msg = WM_CUT)) then
    OldWindowProc(Msg);
end;

end.
Responder Con Cita