当前位置:文档之家› 设置多个屏幕分辨率

设置多个屏幕分辨率

设置多个屏幕分辨率
设置多个屏幕分辨率

设置双屏显示器的分辨率:

//传入参数为设置第几个屏幕

function TFormMain.ChangeResolution(nNum: Integer): Boolean;

var

X, Y, Frequency: Cardinal;

lpDevMode: TDeviceMode;

lpDisDev : TDisplayDevice;

DevNum: Integer;

begin

result := True;

DevNum := 0;

ZeroMemory(@lpDisDev, SizeOf(TDisplayDevice));

lpDisDev.cb := SizeOf(TDisplayDevice);

while EnumDisplayDevices(nil, DevNum, lpDisDev, 0) do

begin

if lpDisDev.DeviceName = ('\\.\DISPLAY' + IntToStr(nNum)) then

begin

ZeroMemory(@lpDevMode,Sizeof(TDeviceMode));

lpDevMode.dmSize := Sizeof(TDeviceMode);

result := EnumDisplaySettings(lpDisDev.DeviceName, 0, lpDevMode);

if result then

begin

X := lpDevMode.dmPelsWidth;

Y := lpDevMode.dmPelsHeight;

Frequency := 60;

X := 1024;

Y := 768;

lpDevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or

DM_DISPLAYFREQUENCY;

lpDevMode.dmPelsWidth := X;

lpDevMode.dmPelsHeight := Y;

lpDevMode.dmDisplayFrequency := Frequency;

result := (ChangeDisplaySettingsEx(lpDisDev.DeviceName, lpDevMode, 0, 0, nil) = DISP_CHANGE_SUCCESSFUL);

end;

end;

Inc(DevNum);

end;

end;

相关主题
文本预览
相关文档 最新文档