我做的系统是在17'CRT显示器(1024*768)上做的,拿到800*600的机子或是1280*1024上去运行就不正常了,请问各位怎么解决呢?

解决方案 »

  1.   

    试一下API函数获得屏幕分辨率
      

  2.   

    没人回啊,我来注意几个问题就可以了
    大小不可变的 form, 尺寸不要大于 800*600, 640*480的就不考虑了吧, 显示位置不要用default,改用screen center或desktop center
    可变的from
    .注意使用anchors属性,要跟着右边变大小的组件,把 akRight设true,这个很灵活,多尝试一下组合
    .用Panel给form作分割,设置所有Panel align,可变大小的分割用Splitter组件,进一步控制应最好记下各Panel的位置到配置文件,下次程序起动就按上次用户关闭时的位置
      

  3.   

    最简单的办法是:除窗体以外,把其它所有控件的Anchors属性里面的四项全部设置为False即可。
      

  4.   

    通过 Panel控件的 client,bottom,top这些来处理比较好点
      

  5.   

    同意使用pannel控件的属性设置来解决下.
      

  6.   

    procedure TForml.FormCreate(Sender: TObject);
    Const
      Orignwidth=1024;
      Orignheight=768;
    begin
      scaled:=true;
      if (screen.width<>orignwidth) then
      begin
      height:=longint(height)*longint
      (screen.height) div orignheight;
      width:=longint(width)*longint
      (screen.width) div orignwidth;
      scaleby(screen.width , orignwidth);
      end;
    end;
      

  7.   

    界面设计时用align属性 设置为alclient(拉伸)