type TfrmMain = class(TForm) btn800600: TButton; btn640480: TButton; procedure btn640480Click(Sender: TObject); procedure btn800600Click(Sender: TObject); private { Private declarations } public { Public declarations } function DynamicResolution(X, Y: word): BOOL; end;
var frmMain: TfrmMain;
implementation
{$R *.dfm}
function TfrmMain.DynamicResolution(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;
procedure TfrmMain.btn640480Click(Sender: TObject); begin if DynamicResolution(640, 480) then begin ShowMessage('现在的分辨率是640*480'); end; end;
procedure TfrmMain.btn800600Click(Sender: TObject); begin if DynamicResolution(800, 600) then begin ShowMessage('现在的分辨率是800*600'); end; end;