form2居中的问题(60分)

  • 主题发起人 主题发起人 lyplay2
  • 开始时间 开始时间
L

lyplay2

Unregistered / Unconfirmed
GUEST, unregistred user!
form1中有一PANEL
1:如何让FORM2在FORM1。PANEL中始终居中,不管FORM1如何变动。
2:如何让FORM2在FORM1。PANEL的范围内,不管如何拖动FORM2。/

一题30分
 
1,poOwnerFormCenter
2,form1為fsMDIForm,form2為fsMDIChild
 
前提是不用MDIForm。
MDIForm用起感觉不太好
 
我手頭有一個東西,能滿足你。
稍侯...
 
先看這個
showWindow()
再找...
 
procedure OpenForm(FormClass: TFormClass; var fm; AOwner:TComponent);
var
i: integer;
Child:TForm;
begin
for i := 0 to Screen.FormCount -1 do
if Screen.Forms.ClassType=FormClass then begin
Child:=Screen.Forms;
if Child.WindowState=wsMinimized then
ShowWindow(Child.handle,SW_SHOWNORMAL)
else
ShowWindow(Child.handle,SW_SHOWNA);
if (not Child.Visible) then Child.Visible:=True;
Child.BringToFront;
Child.Setfocus;
TForm(fm):=Child;
exit;
end;
//
Child:=TForm(FormClass.NewInstance);
TForm(fm):=Child;
Child.Create(AOwner);
end;


 
先把Form2设为Form1.Panel1的子窗体:
Form2.SetParent(Form1.Panel1);
or
Form2.Parent := Form1.Panel1;
然后再改位置为居中:
Form2.Left := (Form1.Panel1.width- Form2.width) div 2;
Form2.Top := .....
 
难道必须用MDIForm和MDIChild窗体吗?
 
我覺得用MDIForm和MDIChild窗体也不錯啊
 
多人接受答案了。
 
后退
顶部