我的程序是在1024*768在下做的,到了800*600有一些按扭就被遮了。
请问怎么办呀。

解决方案 »

  1.   

    控制好panel,Splitter等控件的Align的属性
      

  2.   

    Align属性只能控制一部分控件,如果考虑到界面的布局美观,操作方便,还是改动界面比较好。
      

  3.   

    你试试这个东东吧
    http://vcl.vclxx.org/DELPHI/D32FREE/EASYSIZE.ZIP
      

  4.   

    试试:
    implementation
      const
      ScreenWidth:LongInt=800;
      ScreenHeight:LongInt=600;
      {$ R*.DFM}
      procedure TMainForm.FormCreate(Sender:TObject);
      var
      OldFormWidth:integer;
      begin
      Scaled:=TRUE;
      if(Screen.width<> ScreenWidth)then
      begin
      OldFormWidth:=Width
      Height:=longint(Height)*longint(Screen.Height)DIV S creenHeight;
      Width:=longint(Width)*longint(Screen.Width)DIV Scre enWidth;
      ScaleBy(Screen.Width,ScreenWidth);
      Font.Size:=(Width DIV OldFormWidth)*FontSize;
      end;
      end;
      

  5.   

    这个问题有个完美的解决方法把你Form里的每个可视控件的Anchors中的akleft,aktop,akright,akbottom属性打开就可以
    了。语句写为:
    memo1.Anchors:=[akLeft,akTop,akRight,akBottom];
    这样就可以了,当你拖动form的时候,memo也会跟着变大变小,按钮也是一样的道理。不过这样做只能缓解一下,如果想真正获得比较好的效果的话,我建议你还是把界面改在
    800*600下或者640*480时的设计的样子,然后添加上面的属性,当遇到屏幕分辨率大的时候
    只要把Form拉大,那么每个可视控也就都变大了。甚至你可以自动根据屏幕的分辨率来调整你的Form大小,这个就看你自己愿意怎样用了,
    呵呵~~~~还有另外一个解决方法:就是把你关键的按钮的位置都设置成动态的,在Form发生Resize事件的时候,通过计算
    来放按钮的位置。例如:procedure TForm1.FormResize(Sender: TObject);
    begin
      button1.Left:=Form1.Width-30;
      button1.Top:=Form1.Height-30;
    end;这样,你的button永远是在距离Form底边和右边30个像素的位置上啦,嘿嘿