Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: TCustomEdit: Paste verhindern ohne Komponente

  Alt 24. Okt 2005, 22:56
Hallo Union,

ich würde es mit subclassing versuchen:

Delphi-Quellcode:
interface

type
  TDemoForm = class(TForm)
    Edit: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    OldEditProc: TWndMethod;
    procedure NewEditProc(var Message: TMessage);
  end;

var
  DemoForm: TDemoForm;

implementation

procedure TDemoForm.NewEditProc(var Message: TMessage);
begin
  if Message.Msg = WM_PASTE
    then Message.Result := 1
    else OldEditProc(Message);
end;

procedure TDemoForm.FormCreate(Sender: TObject);
begin
  OldEditProc := Edit.WindowProc;
  Edit.WindowProc := NewEditProc;
end;

procedure TDemoForm.FormDestroy(Sender: TObject);
begin
  Edit.WindowProc := OldEditProc;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat