父窗体上有一个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,哦了