delphi 分辨率提高不能同步缩放

来源:百度知道 编辑:UC知道 时间:2024/07/07 00:52:55
我用delphi做了一个演示程序,1024*768可以正常显示。可我提高分辨率或降低时,里面的组件图片很不对称,相当难看。咋解决?

在Formshow 中加一句话试试呢.

Scaleby(Screen.Width,1024);

你无非是希望你的程序能适应不同微机分辨率下的环境,那么在运行你的程序时把其它分辨率改成1024*768,退出时还原原来的分辨率:
procedure TForm1.FormCreate(Sender: TObject);
var
sx, sy: Integer;
DevMode: TDeviceMode;
begin
sx := GetSystemMetrics(SM_CXSCREEN); //分辨率宽
sy := GetSystemMetrics(SM_CYSCREEN); //分辨率高
//用于在程序结束时把分辨率改回原始状态
screenx := sx; //分辨率宽
screeny := sy; //分辨率高
if (sx <> 1024) and (sy <> 768) then
begin
DevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
DevMode.dmPelsWidth := 1024;
DevMode.dmPelsHeight := 768;
ChangeDisplaySettings(DevMode,0); //设置新的显示参数
end;
end;