实例说明
编程思路
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;
lpDevMo4e.dmPelsHeight:=Y;
Result:=ChangeDisplaySettings(ipDevMode,O)=DISP_Change_Successful;
end;
end;
//将分辨率设为640’480
procedure TForm1.ButtonlClick(Sender: TObject);
begin
if DynamicResolution(640,480) then
ShowMessage('Nowis 640*480');
end:
//将分辨率设为800*600
procedure TForm1.Button2Click(Sender: TObdect);
begin
if DynamicResolution(800,600) then
ShowMessage('Nowis 800*600');
end;
编程总结
有背景图的程序,视频处理程序通常对分辨率都有点要求,比如RealPlay播放器等,在应用中请大家一定要注意这点。