当前位置:主页>仓库管理软件> 列表

如何在不同的分辨率下自动调整窗口的大小! 找企业财务软件

库存管理软件版1楼: 请问如何让程序根据不同的分辨率自动调整以适应不同分辨率的显示器!
急,谢谢!

2楼: windows会自己调整的,这个不用操心。
如果你的软件要在高分辨率下才能工作正常,你可以设个限止如:“对不起,本软件只能在
800*600以上的分辨率下才能工作” 如企业财务软件

3楼: 我也想知道,如果根据分辨率来调整程序中的字体大小和控件位置和控件大小。

4楼: 强行改用户的分辨率,退出时还原

5楼: 试试 scaleby

6楼:   动态调整显示器分辨率

  Delphi提供了可以动态改变屏幕分辨率的函数,分别是EnumDisplaySettings()和ChangeDisplaySettings()。有了它们,编程时可以随时改变分辨率以适应要求。下面的CRTReset函数能方便实现这一功能:

  implementation

  function CRTReset(X, Y: Word): Boolean;

  var

   lpDevMode: TDeviceMode;

  begin

   Result:= EnumDisplaySettings(nil, 0, lpDevMode); //获取显示模式

   if Result then begin

  lpDevMode.dmFields := DM_PELSWID



  TH Or DM_PELSHEIGHT;

  lpDevMode.dmPelsWidth := X;

  lpDevMode.dmPelsHeight := Y; //设置屏幕的宽度和高度

  Result:= ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL;

   //改变屏幕分辨率并返回成功与否

  end;

  end;

  procedure TForm1.Button1Click(Sender: TObject);

  begin

  if CRTReset(800, 600) then ShowMessage(''Now is 800*600''); //调用函数,设置分辨率为800×600

  end;

库存管理软件版7楼: 自适应窗体
procedure TForm1.FormCreate(Sender: TObject);
Const Orignwidth=800; Orignheight=600;
begin
scaled:=true;
if (screen.width<>orignwidth) then begin
height:=longint(height)*longint(screen.height) div orignheight;
width:=longint(width)*longint(screen.width) div orignwidth;
scaleby(screen.width , orignwidth);
end;
end;