起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: huangyue

粘贴 报错

[复制链接]
发表于 2010-4-7 16:14:23 | 显示全部楼层
为啥不搞个变量,或属性去访问呢?或是给表格文档关联的数据集字段赋值。而不是用这个ActiveControl的方式!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-7 16:54:44 | 显示全部楼层
怎么知道我光标在表单中选中的字段?

1.jpg

78.99 KB, 下载次数: 100

回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-8 08:53:47 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2010-4-8 09:38:48 | 显示全部楼层
你在把10楼的需求详细说一下,两个窗体是什么关系,datagrid和这个表格又是什么关系。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-8 10:46:59 | 显示全部楼层
就是说我要在表单文档中插入字符,然后就另外做了个窗体(子窗体),子窗体中加入了datagrid,用来存放字符。我现在在表单的功能中,光标在表单文档中的某个字段中,点击按钮,弹出字符的子窗体,选中子窗体中的字符,就插入到光标所在的位置。

我的需求就是要先选取另一个窗体中的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);
回复 支持 反对

使用道具 举报

发表于 2010-4-8 11:12:14 | 显示全部楼层
看看连接中参数的这种方式是否可以满足你的需求。
http://bbs.justep.com/forum.php?mod=viewthread&tid=28618
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-8 11:14:17 | 显示全部楼层
最初由 shangxy 发布
[B]看看连接中参数的这种方式是否可以满足你的需求。
http://bbs.justep.com/forum.php?mod=viewthread&tid=28618 [/B]



不懂你说的什么意思,具体点啊
回复 支持 反对

使用道具 举报

发表于 2010-4-8 11:31:01 | 显示全部楼层
他的意思就是说有两种方式:
第一种就是1楼和2楼的方法,在子窗体public中设置一个变量,你赋值在主窗体中读取。
第2种方法就是使用业务参数你在子窗体中对业务参数赋值,然后在主窗体中读取这个参数。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-8 17:14:44 | 显示全部楼层
2个都不能满足需求,我怎么知道光标所在的单元格是哪个字段呢 ??

我的需求是:
表单文档中插入字符,做了个窗体(子窗体),子窗体中加入了datagrid,用来存放字符。我现在在表单文档的功能中,光标在表单文档中的某个字段中,点击按钮,弹出字符的子窗体,选中子窗体中的字符,就插入到光标所在的位置。


我就是需要在操作表单文档的时候插入另个窗体的某个值,,不管用什么方法都行。
回复 支持 反对

使用道具 举报

发表于 2010-4-9 14:44:01 | 显示全部楼层
这个方法很多,最常见的用法是拦截数据集控件事件,或dataSetBroker的事件,上面有OnFieldChanged或OnDataChange的事件,可以拦截数据集中所有列内容的变化,这样用强过发消息。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 21:34 , Processed in 0.043405 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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