如何禁止TEdit或TMemo的“Ctrl+V”粘贴?

20 | 问答知识库用户 |浏览345次
收藏|2014/05/17 22:00
如题,怎么样限制在TEdit或TMemo里面不允许进行“Ctrl+V”粘贴内容呢?

满意回答

2014/05/18 09:35

No "Paste" for you!
To intercept any key combination for a TEdit (or TMemo or more generally TCustomEdit) you need to handle the OnKeyDown event. 
Put a TEdit named "Edit1" on a form (named "Form1"). Handle Edit1's OnKeyDown event as:
 uses Clipbrd, ...
 
 //disable CTRL + V ("Paste") :: handles Edit1.OnKeyDown
 procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState) ;
 begin
   if ((ssCtrl in Shift) AND (Key = ord('V'))) then
   begin
     if Clipboard.HasFormat(CF_TEXT) then ClipBoard.Clear;
 
     Edit1.SelText := '"Paste" DISABLED!';
 
     Key := 0;
   end;
 end;
 When the user presses the CTRL+V key combination while Edit1 has the input focus ... the code above will clear the clipboard and "paste" the '"Paste" DISABLED!' text into the edit control.
来自:http://www.cnblogs.com/uws2056/archive/2012/02/23/2365104.html

热心网友

其他回答(0)
0人关注该问题
待解决问题



+1
 加载中...