我有一个程序用Edit1.CopyTOClipboard 后想把clipboard上的数据copy到光标所在的位置。如何做呢?
解决方案 »
- 数据库表记录同步更新。
- 主程序 exe 与子程序 exe 之间的关闭问题
- mediaplayer的播放窗口怎么关闭啊??急!
- 高手请进,参数传递的问题!高分求解!
- 有书下!http://www.dingbing.com/ebook.htm ,http://www.dingbing.com/
- 100分求助--想找一些开源的分布式系统
- 100分请教,如何将DBGrid中某字段为空的记录全部删除, 和过滤掉重复的记录?
- 有.dcu, 但没有.pas怎么办?delphi就是不让通过啊!
- 新手请教:请问大家报表里各项数据间的间隔线怎么作出来
- 求各位高人帮忙。先行谢过!
- Delphi中Dll如何调用?
- 本地access数据库备份和恢复
uses ClipBrd;var
npHandle:HWND;
hEditInNp:HWnd;
cb:TClipboard;
iStr:PChar;
begin
//首先找到记事本中编辑框的句柄
npHandle:=FindWindowEx(0,0,'Notepad',nil);
hEditInNp:=FindWindowEx(npHandle,0,'Edit',nil);
if hEditInNp0 then
Exit;
//取出剪贴板中的文字信息,你可以自己加一些格式的验证
try
Tcb:=TClipBoard.Create;
iStr:=PChar(tcb.AsText);
finally
tcb.Free;
end;
//利用EM_ReplaceSel消息将文本插入,这个消息的作用是
//用指定文本替换编辑框的选定文字,如果没有选定文字就会插入到光标位置
//如果要替换所有文字要用WM_SetText了
SendMessage(hEditInNP,EM_REPLACESEL,0,LongInt(iStr));
end;给分儿吧,虽然少点儿,呵呵开玩笑的,你可以试试这段代码
比如:你的剪贴板对象.SetTextBuffer(PChar(你的字符串));
复制的过程可以用
SendMessage(目前控件的句柄,wm_copy,0,0);//你还是看一下wm_copy的参考吧,不记得了
在复制的源控件里按下你定义好的复制键,执行就执行以上操作
粘贴的过程可以用上面的回复,在复制的目标控件里按下定义好的粘贴键,就执行该操作关键是获得这些控件的句柄,你可以参考一下FindWindowEx、GetForegroundWindow等函数的用法,就不帮你验证了,呵呵希望有帮助