const w=800; h=600; begin form1.Scaled :=true; if screen.Width <> w then begin form1.Width:=longint(form1.width) * longint(screen.Width) div w ; form1.Height :=longint(form1.Height )* longint(screen.height) div h; form1.ScaleBy(screen.Width ,screen.Height );end; end;
//调整显示属性,我写的贡献给你 function SetResolution(BitsPerPel, PelsWidth, PelsHeight, DisplayFrequency: Word): Boolean; var lpDevMode: TDeviceMode; begin Result := EnumDisplaySettings(nil, 0, lpDevMode); if Result then begin lpDevMode.dmFields := DM_BITSPERPEL or DM_PELSWIDTH or DM_PELSHEIGHT or DM_DISPLAYFREQUENCY; lpDevMode.dmBitsPerPel := BitsPerPel; lpDevMode.dmPelsWidth := PelsWidth; lpDevMode.dmPelsHeight := PelsHeight; lpDevMode.dmDisplayFrequency := DisplayFrequency; Result := ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL; end; end;————————————————————————————————— 宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。 —————————————————————————————————
楼上的应该是用来根据分辨率改变form吧。要改变监视器分辨率可以用这两个函数: EnumDisplaySettings() ChangeDisplaySettings()Example: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;
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; 偶帮你找的
h=600;
begin
form1.Scaled :=true;
if screen.Width <> w then
begin
form1.Width:=longint(form1.width) * longint(screen.Width) div w ;
form1.Height :=longint(form1.Height )* longint(screen.height) div h;
form1.ScaleBy(screen.Width ,screen.Height );end;
end;
function SetResolution(BitsPerPel, PelsWidth, PelsHeight, DisplayFrequency: Word): Boolean;
var
lpDevMode: TDeviceMode;
begin
Result := EnumDisplaySettings(nil, 0, lpDevMode);
if Result then
begin
lpDevMode.dmFields := DM_BITSPERPEL or DM_PELSWIDTH or DM_PELSHEIGHT or DM_DISPLAYFREQUENCY;
lpDevMode.dmBitsPerPel := BitsPerPel;
lpDevMode.dmPelsWidth := PelsWidth;
lpDevMode.dmPelsHeight := PelsHeight;
lpDevMode.dmDisplayFrequency := DisplayFrequency;
Result := ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL;
end;
end;—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
EnumDisplaySettings()
ChangeDisplaySettings()Example: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;
lxpbuaa(桂枝香在故国晚秋) 的源码怎麽用?
谁帮忙看一下!
EnumDisplaySettings()
ChangeDisplaySettings()
尽管它提供了改变刷新频率的参数,但就是用不了,不知道为什么。
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;
偶帮你找的
EnumDisplaySettings()
ChangeDisplaySettings()获得分辨率的函数是什麽?