【发布时间】:2012-07-19 13:38:29
【问题描述】:
我想创建一个可以从一个小菜单访问多个面板的单窗口应用程序。我想从一侧滑入面板。
我做了一个小型演示应用程序,一切正常。唯一的问题是,我的演示应用程序在一种形式中有大约 7 个面板。很难对这些面板进行概览并对其进行更改,因为它们都在彼此之上。
所以我想为每个面板创建一个额外的单元,我可以在其中设计和更改我想要的面板,然后使用代码将它们添加到主窗体中。
我查看了一个表单 fmx 文件并为面板创建了一个文件,我还为面板创建了一个 .pas。
Unit2.pas:
unit Unit2;
interface
uses ...
type
TPanel1 = class(TPanel)
Label1: TLabel;
end;
var
Panel1: TPanel1;
implementation
{$R *.fmx}
end.
Unit2.fmx:
object Panel1: TPanel1
Left = 0
Top = 0
Caption = 'Panel1'
ClientHeight = 551
ClientWidth = 800
Visible = False
StyleLookup = 'backgroundstyle'
object Label1: TLabel
Position.Point = '(8,8)'
Width = 120.000000000000000000
Height = 15.000000000000000000
TabOrder = 9
Text = 'Panel1'
end
end
我现在可以使用设计器来设计我的面板。但是当我想通过执行以下操作以主要形式使用它时:
Panel1 := TPanel1.Create(Self);
Panel1.Parent := Self;
我只得到一个标准的 TPanel,而不是我设计的那个。
当我保持一切不变并将基类从 TPanel 更改为 TForm 时,它会像预期的那样工作(当然要测试的是 .Show 而不是 .Parent=)。
我必须做什么,才能将我设计的面板放入主窗体中?
感谢您的帮助。
【问题讨论】:
-
这就是他们引入框架的原因......
-
同意@whosrdaddy,将每个面板放在每个单元内的 TFrame 中,然后通过 1) 创建框架,2) 将每个框架的父级设置为主面板你的形式。
-
我写过这个问题出在 Firemonkey 中。 Firemonkey 中没有框架。
-
@whosrdaddy:你确定看到我删除的答案了吗?
-
@AndreasRejbrand:不,没看到 :)
标签: delphi delphi-xe2 firemonkey tpanel