Hallo, beim RichEdit musst du noch zusätzlich Strg + V abfangen.
Delphi-Quellcode:
procedure TForm1.MemoWndProc(var Message: TMessage);
var
ShiftState: TShiftState;
bPasting: Boolean;
begin
bPasting := False;
if Message.Msg = WM_KEYDOWN then
begin
with TWMKey(Message) do
begin
ShiftState := KeyDataToShiftState(KeyData);
bPasting := (ShiftState = [ssCtrl]) and (CharCode = Ord('V'));
end;
end else
bPasting := (Message.Msg = WM_PASTE);
if bPasting then
Message.Result := 1
else
FOldMemoProc(Message);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FOldMemoProc := RichEdit1.WindowProc;
RichEdit1.WindowProc := MemoWndProc;
end;