1.设置Form.scaled := false;
2.改变分辨率
function  ChangeResolution(X, Y: word): BOOL;
var lpDevMode: TDeviceMode;
begin
   Result := EnumDisplaySettings(nil, 0, lpDevMode);
   if Result then begin
      lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT;
      lpDevMode.dmPelsWidth := X;
      lpDevMode.dmPelsHeight := Y;
      Result := ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL;
   end
end;
{  示例:if ChangeResolution(640, 480) then
            ShowMessage('Now is 640*480');     }当前分辨率用Screen.width Screen.Height获得
3.form1.Font.Size :=   form1.Font.Size + 1;

解决方案 »

  1.   

    那你只能调节分辨率到所需的分辨率(即设计时的分辨率,此法对要求封闭的系统比较有用,如工控、触摸屏等等) 假设原来的设计环境为800x600 procedure TForm1.FormCreate(Sender: TObject); 
    var 
      FWidth:integer; 
      DevMode:TDeviceMode; 
    begin 
      if(Screen.width<> 800)then 
      begin 
      Result:=EnumDisplaySettings(nil,0,DevMode); //取得旧的显示参数 
      if Result then 
      begin 
        DevMode.dmFields:=DM_PELSWIDTH Or DM_PELSHEIGHT; 
         DevMode.dmPelsWidth:=800; 
        DevMode.dmPelsHeight:=600; 
          ChangeDisplaySettings(DevMode,0); //设置新的显示参数 
        end; 
      end; 
    end;
      

  2.   

    其一,利用继承机制
    其二,设置父亲窗口的align=alclient格式
    至于字体的控制可在响应事件设置组件的font属性