多文档界面的导航制作(100分)

  • 主题发起人 主题发起人 majordomo
  • 开始时间 开始时间
M

majordomo

Unregistered / Unconfirmed
GUEST, unregistred user!
1。MDI中放入一个coolbar,image.运行后,image的图像上部有一条空白,高度=coolbar.height,BUG?
2。如何在MDI中放入一个pannel用于系统导航,要求它始终处于任何ChildForm的下边。并不可Resize。
 
1。估计是个BUG,因为MDI在运行期会自动创建一个MDICLIENT,即MDI的客户区,但
设计期却没有,于是两者之间有协调问题。不单是TIMAGE,连LABEL也一样,只要
不是从TWINCONTROL下来的,可能就有问题。你先放一个PANEL再把IMAGE放PANEL上
就没有问题了。
2。这个容易,在主窗口ONSHOW中写:
procedure TForm1.FormShow(Sender: TObject);
begin
Windows.SetParent(Panel1.Handle,ClientHandle);
Panel1.SendToBack;
Panel1.Enabled := False;
end;
当ChildForm的数目不为0时,执行Panel1.Enabled := False;
当ChildForm的数目为0时,执行一下Panel1.Enabled := True;即可。
 
不行呀!
1。放入panel.就挡住了后来生成的children form.

2。Windows.SetParent(Panel1.Handle,ClientHandle);
Panel1.SendToBack;
Panel1.Enabled := False;
运行后,还是有一条空白。
 
老大,你调节一下IMAGE(或PANEL).Top就没有空白了。
procedure TForm1.FormShow(Sender: TObject);
begin
Image1.Top := Image1.Top-CoolBar1.Height;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
Windows.SetParent(Panel1.Handle,ClientHandle);
Panel1.SendToBack;
Panel1.Enabled := False;
Panel1.Top := Panel1.Top-CoolBar1.Height;
end;
 
image1.align:=alClient;
IMAGE(或PANEL).Top根本不可调。
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部