我是在屏幕分辨率为800*600下写的程序,但是到了1024*768时有些部分按钮不能正常显示,
(在屏幕上看不到),请问有什么好的解决办法吗?
还有在Delphi6下DBNavigatot控件中的Post,把DB控件的值回写,速度特别的慢。还有就是
使用Query控件,open时,速度也出现特别慢的问题。请问这是为什么?

解决方案 »

  1.   

    post慢的问题,请把具体环境和操作写清楚些。
      

  2.   

    你用Delphi5编译一下试试是不是还出现这种问题
    我一直都用Delphi5,从来没有遇到过。所以我怀疑是Delphi6的问题,或者是你的操作系统
      

  3.   

    Query控件,open时將所有數據都下載到本地機上當然慢了
      

  4.   

    第一个问题,参见:
      http://expert.csdn.net/Expert/topic/1191/1191072.xml?temp=.4741632
    第二个问题,原因就多了,不好下定论,
      可能是数据量特大;
      可能是数据库驱动不好;
      可能是网络性能差;
      ……
      你要是用BDE的话,改用ADO或其他试试看。
       
      还有,我想和Bes96261(秋水孤鶩) ( ) 朋友讨论一下:
      Query控件,open时將所有數據都下載到本地機上吗?好像不是吧,Table是这样,Query要看sql怎么写吧?
      

  5.   

    第一題:
    假如你在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;第二題:
            本人沒使用過Delphi6