程序设计时设计好了表单排版(lable,edit等控件的排版)
给同事用时发现到她电脑上表单显示不完整,有些lable、edit等甚至都看不到(库房那边用的电脑很破旧,显示器很古老)
不知道这样的问题应该如何解决

解决方案 »

  1.   

    假设你在800*600的分辨率下设计的form,第一步:   
      inplementation   
      const   
          ScreenWidth:   LongInt   =   800;   {I   designed   my   form   in   800x600   mode.}   
          ScreenHeight:   LongInt   =   600;   
        
      {$R   *.DFM}   
        
      procedure   TForm1.FormCreate(Sender:   TObject);   
      begin   
          scaled   :=   true;   
          if   (screen.width   <>   ScreenWidth)   then   
          begin   
              height   :=   longint(height)   *   longint(screen.height)   div   ScreenHeight;   
              width   :=   longint(width)   *   longint(screen.width)   div   ScreenWidth;   
              scaleBy(screen.width,   ScreenWidth);   
          end;   
      end;   
        
      下一步,要让每个子控制的字体改变到合适的大小:   
      type   
          TFooClass   =   class(TControl);   {   needed   to   get   at   protected   }   
                                                                    {   font   property   }   
        
      var   
          i:   integer;   
      begin   
          for   i   :=   ControlCount   -   1   downto   0   do   
              TFooClass(Controls[i]).Font.Size   :=   
                      (NewFormWidth   div   OldFormWidth)   *   
                      TFooClass(Controls[i]).Font.Size;   
      end;   
      

  2.   

    网上看到这个方法,试了,问题是后面第三步:
    下一步,要让每个子控制的字体改变到合适的大小:  
      type  
          TFooClass  =  class(TControl);  {  needed  to  get  at  protected  }  
                                                                    {  font  property  }  
        
      var  
          i:  integer;  
      begin  
          for  i  :=  ControlCount  -  1  downto  0  do  
              TFooClass(Controls[i]).Font.Size  :=  
                      (NewFormWidth  div  OldFormWidth)  *  
                      TFooClass(Controls[i]).Font.Size;  
      end;  
    这个应该在哪里实现?或者说应该填在哪里最合适?
      

  3.   

    加在creat里面了,改变了,但是排版有些乱,不知道谁有好方法解决?