procedure TmainFRM.FormCreate(Sender: TObject);
if(Screen.width<>1024)then //在这里进行分辨率的调整,调成1024*768的
begin
change:=true;
flag:=EnumDisplaySettings(nil,0,DevMode); //取得旧的显示参数
if flag then
begin
screenWidth:=getdevicecaps(GetDc(0),HORZRES);
screenHeigth:=getdevicecaps(GetDc(0),VERTRES);
screenFrequency:=getdevicecaps(getdc(0),VREFRESH);
DevMode.dmFields:=DM_PELSWIDTH Or DM_PELSHEIGHT or DM_DISPLAYFREQUENCY;
DevMode.dmPelsWidth:=1024;
DevMode.dmPelsHeight:=768;
DevMode.dmDisplayFrequency:=screenFrequency;
ChangeDisplaySettings(DevMode,0); //设置新的显示参数
end;
end
else
change:=false;
procedure TmainFRM.FormDestroy(Sender: TObject); //在这里恢复原来的分辨率
var
flag:boolean;
DevMode:Tdevmode;
begin
if change then
begin
flag:=EnumDisplaySettings(nil,0,DevMode); //取得旧的显示参数
if flag then
begin
DevMode.dmFields:=DM_PELSWIDTH Or DM_PELSHEIGHT or DM_DISPLAYFREQUENCY;
DevMode.dmPelsWidth:=screenWidth;
DevMode.dmPelsHeight:=screenHeigth;
DevMode.dmDisplayFrequency:=screenFrequency;
ChangeDisplaySettings(DevMode,0); //设置新的显示参数
end;
end;
end;