明辉手游网中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

动态调整显示器的分辨率

[摘要]Windows提供给我们两个API函数,可以动态调整显示器的分辨率, 他们是EnumDisplaySettings()和 ChangeDisplaySettings(), 下面这个例子就是了 function DynamicResolution(X, Y: word): BOOL;var l...
Windows提供给我们两个API函数,可以动态调整显示器的分辨率, 他们是EnumDisplaySettings()
和 ChangeDisplaySettings(), 下面这个例子就是了
function 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 TForm1.Button1Click(Sender: TObject);
begin
if DynamicResolution(640, 480) then
    ShowMessage('Now is 640*480');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if DynamicResolution(800, 600) then
    ShowMessage('Now is 800*600');
end;