delphi frame 问题???

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi frame 问题???相关的知识,希望对你有一定的参考价值。

delphi frame窗体的 我想要把从数据库中的数据读取到下拉列表框 可是找不到OnShow事件
有没有可以代替OnShow的事件

参考技术A 那你就要自己写frame窗体显示前调用的方法了。
给你一个参照吧(要动态创建窗体)。
写在别的窗体事件中,事件触发就动态创建你需要的窗体了。
var
frmA: TfrmA;
begin
try
frmA:=TfrmA.Create(nil);
frmA.XXX;//(这个XXX方法是你在frmA中自定义的方法,数据读取到下拉列表框写在这里ok);
frmA.ShowModal;
finally
FreeAndNil(frmA);
end;
end;追问

和我想的一样 不过frame 窗体一多的话 from主窗体岂不是很混乱

追答

将窗体封装在Dll中,动态或静态调用。
1.按你的要求,应该是将Dll中的窗体注入主窗体特定区域(这个我不是很懂啊)。
2.如果,你要在这特定区域方上一些按钮,该按钮可实现掉用你需要的窗体(来自Dll中)。
但是出现的窗体是在该主窗体上(位置可自己调)就是弹出一新窗体。

3.你左边的是功能模块,右边可以设置为该模块下的子模块(子模块都封装在一个Dll中)。
这样你的系统就是一个主程序(没具体功能,只实现调用Dll(所有的功能都写在dll中));
而你有几个主模块就创建几个Dll文件。
推荐你看一下:《Delphi面向对象编程思想》——第8章 实现界面和业务的分离---物理分离;
你就能够更好的理解我说的了,哈哈(仅供参考)

本回答被提问者采纳
参考技术B FormCreate也可以追问

我的那个没有那个事件 还有没有别的啊事件啊 要不给qq明天加你 问你 今天太晚要睡觉

追答

没有了!!

参考技术C 那就在oncreate中实现追问

你说的这个事件也没有

参考技术D onshow怎么会找不到呢

FireMonkey 继承Frame存在的问题

在FireMonkey项目中,我建立一个TFrame,放置一个Text对象,然后设置:

技术图片

设置Text1.Margins.Right为49。

现在我们有了一个TFrame2类,从这个类再继承一个新的TFrame。

技术图片

 

现在我们从Frame2继承出一个Frame3,然后,我们设置Frame3:

技术图片

 

把Text1.Margins.Right设置为0.

问题马上要出来了,我们再把Frame3放置到Form上,然后写一行代码,看看运行期Text1.Margins.Right的值为多少?

procedure TForm1.FormCreate(Sender: TObject);
begin
  Text1.Text:=Frame31.Text1.Margins.Right.ToString;
end.

这里,竟然是49!也就是说,我们在设计期,在TFrame3做的修改,会被TFrame2覆盖掉。

进一步测试,把Text1.Margins.Right设置为100,显示正常了!

再进一步测试,把Text1.Text的值进行修改,这个属性也不存在上面的问题。

为什么会产生这样的结果呢?

打开窗体的DFM文件,进一步分析原因,原来,当我们修改Text1.Margins.Right=0时,不会记录到DFM中,而改成非0的任意值,则会记录到DFM中。下面是Form1的DFM代码:

object Form1: TForm1

  ...
  inline Frame31: TFrame3
    Position.X = 248.000000000000000000
    Position.Y = 112.000000000000000000
    Size.Width = 379.000000000000000000
    Size.Height = 290.000000000000000000
    Size.PlatformDefault = False
    inherited Text1: TText
      Margins.Right = 100.000000000000000000
      Text = ‘‘
    end
  end
end

我们看到,在DFM文件中,Frame31中Text1对象前面有Inherited,表示从父类继承,如果这里没有属性值定义,则自动从父类继承。当我们修改Margins.Right=0时,不会存在DFM中,运行时,自动从父类TFrame2继承来49!问题就是这样了,等官方解决吧。

 

以上是关于delphi frame 问题???的主要内容,如果未能解决你的问题,请参考以下文章

问一下,delphi怎么打开frame

delphi 里的 Frame 这个是做啥用的,举个例子哈

delphi中 WebBrowser如何控制Frame下面的元素

Delphi中的Form中怎么调用Frame,ShowFrame()好像可以

Delphi中Frame和Form有何区别

Delphi7 将Form添加到一个Panel上