我在我电脑上做的系统(1024X768),感觉很好
但我拿到800X600的电脑上去运行时候,窗口大了,有的地方还看不到,非要拖拉滚动条才行...怎么样设置让我的窗口在800X600和1024X768上显示比例一样呢?我用的MDIchild窗口。。

解决方案 »

  1.   

    显示的时候先判断显示器的分辨率,然后根据不同的分辨率布局不同的控件位置Form有属性
      Screen.Width;
      Screen.Height;
      

  2.   

    这主要是因为字体的原因,所以窗体大小有不同
    //////////看这个代码
    procedure TDMShare.FormAutoSize(AOwner: TComponent; ScreenWidth,
      ScreenHeigth: Integer);
    var
      OldFormWidth:integer;
    begin
      if screen.Width <> screenwidth then
      begin
        oldformwidth:=TForm(AOwner).Width;
        TForm(AOwner).Height:=longint(TForm(AOwner).Height) * longint(screen.height) div ScreenHeigth;
        TForm(AOwner).Width:=longint(TForm(AOwner).Width) * longint (screen.width) div screenwidth;
        TForm(AOwner).ScaleBy(screen.Width+5,screenwidth);
        TForm(AOwner).Font.Size:=(TForm(AOwner).Width div OldFormWidth) * TForm(AOwner).Font.Size;
      end;
    end;//
    用法,在Form 的 Create事件写入
    FormAutoSize(Form1,Screen.Width,Screen.Height);