首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi父子窗体有关问题,

2012-11-05 
delphi父子窗体问题,求助!父窗体上有一个panel1,panel1里面有上下两个panel(就叫上panel和下panel吧)。

delphi父子窗体问题,求助!
父窗体上有一个panel1,panel1里面有上下两个panel(就叫'上panel'和'下panel'吧)。点击上panel里面的控件,可以在下panel创建一个窗体。
问题:现在我想点击下panel窗体中的控件,然后创建另外一个窗体显示在整个panel1中(覆盖上下panel)。这个如何实现啊?真心求助。

下面是下窗体中的创建窗体代码。说得可能有点绕,多多包含!
procedure TfrmTestChapter.imgBottomNavBtnTestClick(Sender: TObject);//这是下panel窗体上的某控件
var
  CurNum: Integer;
  fuFormMain:TFormMain;
begin
  if FfrmShowFlash = nil then //这是要显示在panel1中的窗体
  FfrmShowFlash := TfrmShowFlash.Create(nil);
  with FfrmShowFlash do
  begin
  BorderWidth := 0;
  DockSite := True;
  DragKind := DkDock;
  Align := alClient;
  HostDockSite := ;//这里直接填父窗体上的panel1会说‘read of address xxxxx’!
  Show;
  end;
end;

[解决办法]
这个不难吧?上panel的相应事件创建Frame1放在下panel上,下panel相应事件创建Frame2放在Form上(将两上下panel隐藏)即可
[解决办法]
首先创建一个TFoem和两个TFrame

TForm1:

private
tf2: TFrame2;
procedure TForm1.Button1Click(Sender: TObject);
begin
tf2 := TFrame2.Create(Self);
tf2.Parent := Panel2;
end;

TFrame2:

private
tf3: TFrame3;
procedure TFrame2.Button1Click(Sender: TObject);
begin
tf3 := TFrame3.Create(Self);
tf3.Parent := Form1;
Form1.Panel1.Visible := False;
Form1.Panel2.Visible := False; //引用Torm单元时放在implementation下面
end;


[解决办法]
写错了,是TForm,不是TFoem......

panel有一个btn,panle2也有个btn,哦了


[解决办法]
显示在panel1中,是不能覆盖panel2的; 何况覆盖了,岂不是看不到其它的控件了

热点排行