起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 646|回复: 21

粘贴 报错

[复制链接]
发表于 2010-4-6 09:40:43 | 显示全部楼层 |阅读模式
以下的代码在平台运行功能是没有报错的,,不过在系统初始化,IE运行就报错了,

SendMessage(ActiveControl.Handle,Borland.Delphi.Messages.WM_PASTE,0,0);

999.jpg

23.06 KB, 下载次数: 228

回复

使用道具 举报

 楼主| 发表于 2010-4-6 10:33:46 | 显示全部楼层
难道是IE对delphic 语法有排斥?
回复 支持 反对

使用道具 举报

发表于 2010-4-6 10:56:52 | 显示全部楼层
楼主加个调试
if not Assigned (ActiveControl) then
放在这个SendMessage条件前,判断一下,看是不是ActiveControl为空了啊!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-6 11:39:13 | 显示全部楼层
ActiveControl是空的。。。我是在表单中填写数据,鼠标在表单某个单元格中,然后就用上面的那行代码粘贴剪贴板的数据。。。。。。
来个解决方法吧!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-6 15:50:11 | 显示全部楼层
版主,来高手啊
回复 支持 反对

使用道具 举报

发表于 2010-4-6 17:12:12 | 显示全部楼层
能否不用ActiveControl属性,直接得到自己要定位的控件么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-6 17:34:31 | 显示全部楼层
我是粘贴数据到表单里面的单元格里啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-7 09:18:50 | 显示全部楼层
我是粘贴数据到表单里面的单元格里啊
回复 支持 反对

使用道具 举报

发表于 2010-4-7 10:49:49 | 显示全部楼层
说说过程,为什么要用发消息的方式来粘贴啊?消息最早又是怎么发生的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-7 14:34:39 | 显示全部楼层
我的需求就是要先选取另一个窗体中的DataGrid1的某个字,,然后插入到表单文档中

在另一个窗体DataGrid1中
先复制内容到剪贴板
procedure TMAINFORM.BitBtn2Click(Sender: TObject);
begin
  fz := DataGrid1.DataSource.DataSet.FieldByName(DataGrid1.FocusedField.FieldName).AsString;
  Clipboard.SetTextBuf(PChar(fz));
  Self.ModalResult := Business.Forms.Controls.mrOK;
end;

然后另个窗体就插入剪贴板的信息。
SendMessage(ActiveControl.Handle,Borland.Delphi.Messages.WM_PASTE,0,0);
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 21:21 , Processed in 0.044541 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表