form2.Position:=poOwnerFormCenter;
我的表单怎么不偏下。

解决方案 »

  1.   

    要适应不同的分辨率,首先要用API函数获得系统的分辨率,然后根据分辨率的不同而设置窗体,具体是那个API函数,我记不清了。
      

  2.   

    procedure TForm.FormActivate(Sender: TObject);
    begin
      Left:=(Screen.Width-Width-10) div 2;
      top:=(Screen.height-height-110) div 2;
    end;
      

  3.   

    用不了这么多吧
    top:=(Screen.height-height-30) div 2;
    我总是这样用,还可以。
      

  4.   

    TMDICHILD.onshow(sender:TObject);
    begin
    self.top:=0;
    self.left:=0;
    end;
      

  5.   

    在子窗口onshow中加如下代码:
       position:=poDesigned;
       WindowState:=wsNormal;
       top:=20;
       height:=400;
       width:=640;
       left:=round((Screen.Width -self.Width)/2);
        
      

  6.   

    老弟,你也遇到这问题了,是这样解决的。你把子窗口的position属性修改为poDefaultSizeOnly,然后把子窗口的位置调节到桌面的做上角,就是说,在你设计的时候把子窗口的左上角与屏幕的左上角对齐,不过最好是留一毫米的距离。然后再调整窗口的大小。注意调整到左上角了要存盘,虽然子窗口挡住了存盘命令,但是我想你一定有办法不改变子窗口的位置,仍然可以保存的。这样你运行起来,子窗口一般都是以父窗口左上角为基准对齐的。希望可以帮助你。