A,B,C...等等好多父窗口里都会打开Y这个子窗口,然后从Y子窗口选择数据后显示到父窗口的不固定EDIT里去 本帖最后由 luojianfeng 于 2011-01-29 17:34:06 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很简单的问题啊。所有A B C 。 窗体不是都引用了一个 Y窗体了么?调用y窗体之前 先把自己窗体里的那个edit控件当参数传过去在y窗体里改变调用窗体数据这样写(TEdit)aaa.text:='...';就可以了啊,aaa为传过来的参数 通常都是 几个窗体都引用y窗体而调用y窗体的时候都动态创建一个y窗体。创建的同时 利用构造函数把edit传过去 父procedure TFormXsdAdd.SpeedButton1Click(Sender: TObject);begin FormSelectWldw.ShowModal;end;子procedure TFormSelectWldw.DBGridEh1DblClick(Sender: TObject);//双击选择数据begin FormXsdAdd.Edit1.Text:=ADOQuery1.FieldByName('bh').AsString;end;开始我是这样写死的,不行的,楼上的能把代码也贴出来吗? 这都还不会?那给你个简单的窗体Y的 public里加个inEdit:TEdit;窗体A B C 调用窗体Y的时候这样frmY.inEdit:=edit1;frmY.ShowModal;其中 A中的edit1 就是要被窗体Y改变数据的。窗体Y修改A中的edit1这样写inEdit.Text:=edit1.Text;这样简单了吧。需要解释么?窗体Y里申明了一个 inEdit,但是没有初始化。调用窗体Y之前 让这个对象指向窗体A的一个edit控件之后在窗体Y中使用inEdit 就相当于使用窗体A的edit1了 明白了吧 ShowModal;说明不会有多个父窗口都打开着Y,楼上的方法是有效的 如果有多个窗体打开Y也可以那调用的时候 就不要直接调用Y而是申明一个新的窗体 初始化public frmTmp:TfrmY frmTmp:=TfrmY.create(nil); frmTmp.inEdit:=edit1; frmTmp.show; delphi开发系统托盘,一开始运行程序隐藏界面到托盘 关于ADOQUERY参数的问题 今天大问题解决了,能提前完成任务,高兴ing..散分!!! 请教斑竹等高手,图形怎样连同坐标系一起放大放小,为什么autocad中的图形无论怎么旋转缩放一点都不变形?就连取整误差都看不出来。 关于sql语言的问题 有人在Delphi中用过XML么?来谈谈使用感受。 哪里能找到开发项目说明书(不要大纲)??? 请问在Delphi6中网络数据库与本地数据库之间如何转换 今天我生日,散分!! 关于DELPHI的打印问题! Byte 数组 TipTDBGrid
所有A B C 。 窗体不是都引用了一个 Y窗体了么?调用y窗体之前 先把自己窗体里的那个edit控件当参数传过去
在y窗体里改变调用窗体数据这样写
(TEdit)aaa.text:='...';
就可以了啊,aaa为传过来的参数
而调用y窗体的时候都动态创建一个y窗体。
创建的同时 利用构造函数把edit传过去
procedure TFormXsdAdd.SpeedButton1Click(Sender: TObject);
begin
FormSelectWldw.ShowModal;
end;子
procedure TFormSelectWldw.DBGridEh1DblClick(Sender: TObject);//双击选择数据
begin
FormXsdAdd.Edit1.Text:=ADOQuery1.FieldByName('bh').AsString;
end;
开始我是这样写死的,不行的,楼上的能把代码也贴出来吗?
那给你个简单的窗体Y的 public里加个
inEdit:TEdit;窗体A B C 调用窗体Y的时候这样
frmY.inEdit:=edit1;
frmY.ShowModal;
其中 A中的edit1 就是要被窗体Y改变数据的。窗体Y修改A中的edit1这样写
inEdit.Text:=edit1.Text;
这样简单了吧。需要解释么?
窗体Y里申明了一个 inEdit,但是没有初始化。
调用窗体Y之前 让这个对象指向窗体A的一个edit控件
之后在窗体Y中使用inEdit 就相当于使用窗体A的edit1了
明白了吧
而是申明一个新的窗体 初始化public frmTmp:TfrmY frmTmp:=TfrmY.create(nil);
frmTmp.inEdit:=edit1;
frmTmp.show;