动态改变屏幕分辨率 (2001年4月9日).txt

来自「delphi 编程技巧」· 文本 代码 · 共 38 行

TXT
38
字号
动态改变屏幕分辨率 (2001年4月9日) 

网友更新  分类:图形图象   作者:Pau  推荐:pau   阅读次数:269  
(http://www.codesky.net)  

--------------------------------------------------------------------------------
动态改变屏幕分辨率 

参考 EnumDisplaySettings() 与 ChangeDisplaySettings 这两个 WinAPI. 

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 + -
显示快捷键?