procedure TForm1.FormShow(Sender: TObject); var Width,Height:integer; begin Width := GetSystemMetrics(SM_CXSCREEN); Height := GetSystemMetrics(SM_CYSCREEN); form1.ClientWidth :=Width; form1.ClientHeight:=Height; end;
function DynamicResolution(Width,Height: word): BOOL; var lpDevMode: TDeviceMode; begin Result := EnumDisplaySettings(nil, 0, lpDevMode); if Result then begin lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT; lpDevMode.dmPelsWidth := Width; lpDevMode.dmPelsHeight := Height; Result := ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL; end; end; procedure TForm1.Button1Click(Sender: TObject); begin if DynamicResolution(640, 480) then ShowMessage('Now is 640*480'); end; 用上面的函数可以改变分辨率,应该能解决你的问题.
var Width,Height:integer;
begin
Width := GetSystemMetrics(SM_CXSCREEN);
Height := GetSystemMetrics(SM_CYSCREEN);
form1.ClientWidth :=Width;
form1.ClientHeight:=Height;
end;
var
lpDevMode: TDeviceMode;
begin
Result := EnumDisplaySettings(nil, 0, lpDevMode);
if Result then
begin
lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT;
lpDevMode.dmPelsWidth := Width;
lpDevMode.dmPelsHeight := Height;
Result := ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if DynamicResolution(640, 480) then
ShowMessage('Now is 640*480');
end;
用上面的函数可以改变分辨率,应该能解决你的问题.