截取粘贴消息并修改粘贴的内容
2008-07-23 11:13
253 查看
TEdit = class(StdCtrls.TEdit)
protected
procedure WndProc(var Message: TMessage); override;
end;
procedure TEdit.WndProc(var Message: TMessage);
var
hClip: THandle;
pBuf, lBuf, gBuf: PChar;
C: Char;
begin
if Message.Msg = WM_PASTE then
begin
OpenClipboard(Handle);
if IsClipboardFormatAvailable(CF_TEXT) then
begin
hClip := GetClipboardData(CF_TEXT);
pBuf := GlobalLock(hClip);
GetMem(lBuf, Length(pBuf));
StrCopy(lBuf, pBuf);
GlobalUnlock(hClip);
EmptyClipboard; //ShowMessage(lBuf);
//改变某些字符
pBuf := lBuf;
C := pBuf^;
while C <> #0 do
begin
if C = #51 then
pBuf^ := Char(#65);
Inc(pBuf);
C := pBuf^;
end;
//end 改变某些字符
hClip := GlobalAlloc(GMEM_MOVEABLE, StrLen(lBuf) + 1);
gBuf := GlobalLock(hClip);
StrCopy(gBuf, lBuf);
FreeMem(lBuf);
GlobalUnlock(hClip);
SetClipboardData(CF_TEXT,hClip);
end;
CloseClipboard;
end;
inherited;
end;
protected
procedure WndProc(var Message: TMessage); override;
end;
procedure TEdit.WndProc(var Message: TMessage);
var
hClip: THandle;
pBuf, lBuf, gBuf: PChar;
C: Char;
begin
if Message.Msg = WM_PASTE then
begin
OpenClipboard(Handle);
if IsClipboardFormatAvailable(CF_TEXT) then
begin
hClip := GetClipboardData(CF_TEXT);
pBuf := GlobalLock(hClip);
GetMem(lBuf, Length(pBuf));
StrCopy(lBuf, pBuf);
GlobalUnlock(hClip);
EmptyClipboard; //ShowMessage(lBuf);
//改变某些字符
pBuf := lBuf;
C := pBuf^;
while C <> #0 do
begin
if C = #51 then
pBuf^ := Char(#65);
Inc(pBuf);
C := pBuf^;
end;
//end 改变某些字符
hClip := GlobalAlloc(GMEM_MOVEABLE, StrLen(lBuf) + 1);
gBuf := GlobalLock(hClip);
StrCopy(gBuf, lBuf);
FreeMem(lBuf);
GlobalUnlock(hClip);
SetClipboardData(CF_TEXT,hClip);
end;
CloseClipboard;
end;
inherited;
end;
相关文章推荐
- SAP修改消息内容和报错类型(SE91和OBA5)
- SNMP 修改SNMP4J消息内容
- File文件创建路径,修改文本内容,截取文本内容
- SNMP 修改SNMP4J消息内容 之TCP发送模式
- openfire源码修改聊天消息发送内容
- File文件创建路径,修改文本内容,截取文本内容
- 如何截取iframe的内容,修改他的CSS
- javascript 原生js修改浏览器复制、粘贴内容
- openfire源码修改聊天消息发送内容
- css实现内容超长自动截取并显示省略号
- 转载非原创:修改BB 的内容,回车后修改CC 的值
- 正则表达式截取指定字符串内容
- 钩子函数对键盘消息的修改
- 如何在非同步Postback过程中修改位于UpdatePanel外的控件内容
- 复习1.31.内容--类--类变量--类的私有属性的获取和修改--异常捕获
- java 读取,修改properties文件,不改变文件内容顺序
- jquey添加修改列表内容
- MySQL数据表字段内容的批量修改、清空、复制等更新命令
- excel中的数据粘贴不全到plsql中,excel 粘贴后空白,Excel复制粘贴内容不全
- 如何截取QQ密码和聊天内容、去掉QQ广告栏、添加QQ尾巴