delphi – 如何拦截(检测)粘贴命令到TMemo?
发布时间:2020-12-15 10:06:39 所属栏目:大数据 来源:网络整理
导读:如何在将文本粘贴到TMemo之前捕获粘贴命令并更改剪贴板的文本,但是,粘贴后,剪贴板中的文本必须与更改之前相同? 例如,剪贴板上有文本’简单问题’,TMemo中的文字是’СимплeQуeстиoн’,之后剪贴板中的文字就像更改之前的’简单问题’. 解决方法 派
如何在将文本粘贴到TMemo之前捕获粘贴命令并更改剪贴板的文本,但是,粘贴后,剪贴板中的文本必须与更改之前相同?
例如,剪贴板上有文本’简单问题’,TMemo中的文字是’СимплeQуeстиoн’,之后剪贴板中的文字就像更改之前的’简单问题’. 解决方法
派生一个从’TMemo’下降的新控件来拦截WM_PASTE消息:
type TPastelessMemo = class(TMemo) protected procedure WMPaste(var Message: TWMPaste); message WM_PASTE; end; uses clipbrd; procedure TPastelessMemo.WMPaste(var Message: TWMPaste); var SaveClipboard: string; begin SaveClipboard := Clipboard.AsText; Clipboard.AsText := 'Simple Question'; inherited; Clipboard.AsText := SaveClipboard; end; 如果您想要禁止任何粘贴操作,请清空WMPaste处理程序. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |