关于如何给frame上的控件赋值。(100分)

  • 主题发起人 主题发起人 blackgun
  • 开始时间 开始时间
B

blackgun

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在有一个窗体上的panel控件,我让这个控件读入一个frame,我现在在窗体中在放置一个按钮,我利用这个按钮探出一个新的form
我现在想让这个新窗体上的按钮。可以更改刚刚读入frame的内容。
如果没有解决的方法[:)],告诉我如何将frame更改为form也行[:D]
 
将它
TFrmBatch = class(TFame)
必改为
TFrmBatch = class(TForm)
保存,重新打开,OK,如改回去的话可会损失很多属性设置。
 
听不懂??
 
如果一个OBJ指向这个FRAME的话,就这样写
(obj as tframe2).edit.text:='i love you';
 
天真老兄,请写的详细一些,最好有个例子[:D]
 
//动态生成的?源代码贴出来看看。
//可以这样写 TEdit(Form1.myframe.findcomponent('Edit1')).text:='ok'
 
参照一下例子:
procedure TForm1.Button1Click(Sender: TObject);

var
i: Integer;
const
NamePrefix = 'MyEdit';
begin
for i := 1 to 20 do begin
TEdit.Create(Self).Name := NamePrefix + IntToStr(i);
with TEdit(FindComponent(NamePrefix + IntToStr(i))) do
begin
Left := 10;
Top := i * 20;
Parent := self;
end;
end;
end;
 
我现在就想知道我用在那个frame弹出的窗口,应该如何去做,
才能操作frame上的控件。
 
你在form上添加一个TFrame,就会提示你它包含哪个Frame,然后假如你给这个TFrame。
name为EditFrame,那么就是EditFrame.Edit1.Text:='DFW';就行了。
 
假如你FRAME是动态生成的,并由OBJ指向的话,就象我上面那样写,否则
form1.Frame21.Edit1 .text:=fasdf';//这个是在新打开的窗口上调用的源码!
~~~~~~~~~~~~~~
 
不是这么简单的呀,我的frame是动态添加的。
我的基本界面分为两个panel,一个panel是放treeview的,上面有功能菜单。另外一个才是放
frame的,我根据功能菜单点选的不同,来调用不同的frame.
 
呵,所以我说嘛!
你生成FRAME时是不是用了一个变量的????
假设OBJ是你生成那个FRAME时用的变量,那么你就可以这么用了
(form1.obj as tframe2).edit.text:='i love you';
 
搞了半天,是我看题错误,天真兄的是对的。
 
天真兄,说的没有错,就是这样。
我先试一下,没有问题的话就发分[:D]。
btw:这种情况用不用use tframe2 ?
 
呵,当然需要USE frame2呀
~~~~frame2的单元文件!
 
这是怎么回事,obj 没有?

[Error] Unit1.pas(30): Undeclared identifier: 'Obj'
 
天真兄
(MainFrom.obj as NewChildForm).Edit1.text:='aaa';
Mainfrom是主窗口,newchildform是从窗口
可是就是不行
 
NEWCHILDFORM是FRAME窗口吗?QQ上:44868052
 
楼上的:
假设
var
Obj:TFrame;
这样你可以这么写:
Obj:=TFrame.Create(Self);//实际上不是这么写的!
Obj.Parent:=self;
(MainForm.obj as tframe2).edit.text:='i love you';
//我觉得最好是写成(obj as tframe2).edit.text:='i love you';
//因为如果没有把Obj归于SelfMainform的子控件就不对了。
//但是 天真 的写法应该是对的
 
多人接受答案了。
 
后退
顶部