请教关于DELPHI中Frame窗体的用法 ( 积分: 100 )

  • 主题发起人 主题发起人 djx8794
  • 开始时间 开始时间
D

djx8794

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在另一个窗体中调用Frame窗体的控件,该怎么办?
 
Standard 中的第一个控件就是调用Frame的
 
首先你在工程中必须有TFrame的窗体,其次你才能调用到其它窗体中。
 
TFrame_xxcx.Create().Image1.Enabled:=true;
那这语句有错在哪里?
 
TFrame_xxcx.Create().Image1
 
我要在另一个窗体中为Frame窗体中的Image1控件的enabled属性赋值
 
//在Form1 里面定义了Frame1
Frame1: TFrame;

Frame.Image.enabled := true;
 
实际就是我在进入frmae窗体后,要通过datam数据模块窗体中的adotable1的onFetchProgress向Frmae窗体内的控件image1的Visible属性赋True值,目的就是为了显示一个“数据载入中”的动画gif图片。
 
對了。那個 Frame2 窗體怎麽用。我從沒用過。主要功能是幹嘛的。
 
首先TFramexx类是不自动创建Framexx对象的,这个需要自己在TFramexx类所定义的单元声明一下:
var
Framexx:TFramexx;
这样这个就成全局变量了,可以就可以这么访问了:
Framexx.Image1.Enabled:=true;
不要采用TFrame_xxcx.Create().Image1.Enabled:=true;
这种偷懒的方式,这样新创建的对象以后就无法访问了。要不这么写也行:
with TFrame_xxcx.Create(Self) do
begin
Image1.Enabled:=true;
...
end;
 
TFrame 主要是装一些控件的容器,跟Panel,Form一样。主要是这个东东能嵌入到其他容器组件中,入Panel、form里面。而且也可以当一个组件保存起来和其他程序员共享。在你的程序中多个地方都用到相同的内容可以采用Frame,比如多个地方都装入一个图片,那么把这个图片装入个Image控件里面,把image放在Frame上,那么在多个地方装入多次image时这些Frame将共用同一块内存,所以节省内存还可以和别人共享代码。尤其多人开发一个软件非常有帮助。以前都用PageControl装入很多控件,占用内存很大,但是用Frame可以动态装入控件,可以节省内存开销、不需要的Frame可以立即释放。
 
感谢man8888,现在代码没错了,也可以调用了,但是image1还是显示不出来
 
多人接受答案了。
 
后退
顶部