33 Stimmen

Delphi/Lazarus: STRG+C in Memo oder Edit-Feld verhindern

Tutorial von Delphianer | 05.11.2013 um 21:59

Manchmal möchte man, dass ein Programmnutzer Texte aus einem TMemo oder TEdit Control nicht in die Zwischenablage kopieren kann. Das heißt, wenn der Nutzer den Text aus einem Edit-Feld oder Memo markiert und anschließend STRG und C auf der Tastatur drückt, soll der Text nicht in die Zwischenablage kopiert werden.

Mit folgendem Code im OnKeyUp-Event des Memos oder des Edits können wir genau das erreichen:

uses ClipBrd;

procedure Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin    
  if (ssCtrl in Shift) and (Key = ord('C')) then begin
    Clipboard.AsText:=''; 
    // oder Clipboard.AsText:='NICHT KOPIEREN!';  
  end;
end;

Das Prinzip ist folgendes: Zunächst prüfen wir, welche Tasten gedrückt wurden. Sind es gleichzeitig STRG (Shift) und C (Key), setzen wir den Inhalt der Zwischenablage auf einen leeren String. Damit ist es dem Nutzer nicht möglich, einen Inhalt in die Zwischenablage zu kopieren.

Natürlich können wir anstelle eines leeren Strings auch jeden anderen alternativen Text in die Zwischenablage kopieren, wie die auskommentierte Zeile zeigt.

AntwortenPositivNegativ

Über den Autor

AvatarDer Autor hat keine Kurzbeschreibung seines Profils angegeben.
Profil anzeigen

 

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.