要让一个panel局中在另一个panel中怎么办?(20分)

D

del520

Unregistered / Unconfirmed
GUEST, unregistred user!
align属性中可以选择:altop alclient alleft alright等等,可以实现一个panel在另一
个panel或是form中上下左右位置,但我现在要将一个form动态的置于另一个form的中央,
该怎么办?
 
算出panel的width and height 自己调了
 
TForm有一个属性TCustomForm.Position,你将它设置成poScreenCenter 就可以了。
 
application.CreateForm(tform2,form2);
form2.Dock(panel1,boundsrect);
form2.Show;
 
哎呀,不好意思,我写错了,是panel在另一个panel中内,不是form在另一个form中央。
:(
 
先手动把Panel放在中间,Align属性设为alNone,Anchors属性全部设为True,就可以了
 
右键-Align..-Center in window
 
先用--右键-Align..-Center in window把panel至于另一个panel的中间,然后记下它的位置
用时直接负值!
 
panel2.top:=Panel1.top+Panel1.height/2;
Panel2.left:=Panel1.left+Panel1.width/2;
 
应该是这样:
if Panel1.Controls[0].classname='TPanel'then
begin
Panel1.Controls[0].Left:=(Panel1.Height-Panel2.Height)div 2
Panel1.Controls[0].Top:=(Panel1.width -Panel2.width )div 2
end;
 
多人接受答案了。
 
顶部