动态调整显示器的分辨率.txt

来自「大量Delphi开发资料」· 文本 代码 · 共 29 行

TXT
29
字号
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; 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?